{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#   Rental Listing Inquiries 数据上练习分类方法\n",
    "房屋特征X共有14维，响应值y为用户对该公寓的感兴趣程度，分为高中低三类。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入需要的文件\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn import model_selection,preprocessing,ensemble\n",
    "from sklearn.metrics import log_loss\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer\n",
    "from scipy import sparse\n",
    "import xgboost as xgb\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.metrics import classification_report, confusion_matrix, log_loss\n",
    "\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1、EDA 数据探索分析  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>building_id</th>\n",
       "      <th>created</th>\n",
       "      <th>description</th>\n",
       "      <th>display_address</th>\n",
       "      <th>features</th>\n",
       "      <th>interest_level</th>\n",
       "      <th>latitude</th>\n",
       "      <th>listing_id</th>\n",
       "      <th>longitude</th>\n",
       "      <th>manager_id</th>\n",
       "      <th>photos</th>\n",
       "      <th>price</th>\n",
       "      <th>street_address</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.5</td>\n",
       "      <td>3</td>\n",
       "      <td>53a5b119ba8f7b61d4e010512e0dfc85</td>\n",
       "      <td>2016-06-24 07:54:24</td>\n",
       "      <td>A Brand New 3 Bedroom 1.5 bath ApartmentEnjoy ...</td>\n",
       "      <td>Metropolitan Avenue</td>\n",
       "      <td>[]</td>\n",
       "      <td>medium</td>\n",
       "      <td>40.7145</td>\n",
       "      <td>7211212</td>\n",
       "      <td>-73.9425</td>\n",
       "      <td>5ba989232d0489da1b5f2c45f6688adc</td>\n",
       "      <td>[https://photos.renthop.com/2/7211212_1ed4542e...</td>\n",
       "      <td>3000</td>\n",
       "      <td>792 Metropolitan Avenue</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10000</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>c5c8a357cba207596b04d1afd1e4f130</td>\n",
       "      <td>2016-06-12 12:19:27</td>\n",
       "      <td></td>\n",
       "      <td>Columbus Avenue</td>\n",
       "      <td>[Doorman, Elevator, Fitness Center, Cats Allow...</td>\n",
       "      <td>low</td>\n",
       "      <td>40.7947</td>\n",
       "      <td>7150865</td>\n",
       "      <td>-73.9667</td>\n",
       "      <td>7533621a882f71e25173b27e3139d83d</td>\n",
       "      <td>[https://photos.renthop.com/2/7150865_be3306c5...</td>\n",
       "      <td>5465</td>\n",
       "      <td>808 Columbus Avenue</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100004</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>c3ba40552e2120b0acfc3cb5730bb2aa</td>\n",
       "      <td>2016-04-17 03:26:41</td>\n",
       "      <td>Top Top West Village location, beautiful Pre-w...</td>\n",
       "      <td>W 13 Street</td>\n",
       "      <td>[Laundry In Building, Dishwasher, Hardwood Flo...</td>\n",
       "      <td>high</td>\n",
       "      <td>40.7388</td>\n",
       "      <td>6887163</td>\n",
       "      <td>-74.0018</td>\n",
       "      <td>d9039c43983f6e564b1482b273bd7b01</td>\n",
       "      <td>[https://photos.renthop.com/2/6887163_de85c427...</td>\n",
       "      <td>2850</td>\n",
       "      <td>241 W 13 Street</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100007</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>28d9ad350afeaab8027513a3e52ac8d5</td>\n",
       "      <td>2016-04-18 02:22:02</td>\n",
       "      <td>Building Amenities - Garage - Garden - fitness...</td>\n",
       "      <td>East 49th Street</td>\n",
       "      <td>[Hardwood Floors, No Fee]</td>\n",
       "      <td>low</td>\n",
       "      <td>40.7539</td>\n",
       "      <td>6888711</td>\n",
       "      <td>-73.9677</td>\n",
       "      <td>1067e078446a7897d2da493d2f741316</td>\n",
       "      <td>[https://photos.renthop.com/2/6888711_6e660cee...</td>\n",
       "      <td>3275</td>\n",
       "      <td>333 East 49th Street</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100013</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>2016-04-28 01:32:41</td>\n",
       "      <td>Beautifully renovated 3 bedroom flex 4 bedroom...</td>\n",
       "      <td>West 143rd Street</td>\n",
       "      <td>[Pre-War]</td>\n",
       "      <td>low</td>\n",
       "      <td>40.8241</td>\n",
       "      <td>6934781</td>\n",
       "      <td>-73.9493</td>\n",
       "      <td>98e13ad4b495b9613cef886d79a6291f</td>\n",
       "      <td>[https://photos.renthop.com/2/6934781_1fa4b41a...</td>\n",
       "      <td>3350</td>\n",
       "      <td>500 West 143rd Street</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        bathrooms  bedrooms                       building_id  \\\n",
       "10            1.5         3  53a5b119ba8f7b61d4e010512e0dfc85   \n",
       "10000         1.0         2  c5c8a357cba207596b04d1afd1e4f130   \n",
       "100004        1.0         1  c3ba40552e2120b0acfc3cb5730bb2aa   \n",
       "100007        1.0         1  28d9ad350afeaab8027513a3e52ac8d5   \n",
       "100013        1.0         4                                 0   \n",
       "\n",
       "                    created  \\\n",
       "10      2016-06-24 07:54:24   \n",
       "10000   2016-06-12 12:19:27   \n",
       "100004  2016-04-17 03:26:41   \n",
       "100007  2016-04-18 02:22:02   \n",
       "100013  2016-04-28 01:32:41   \n",
       "\n",
       "                                              description  \\\n",
       "10      A Brand New 3 Bedroom 1.5 bath ApartmentEnjoy ...   \n",
       "10000                                                       \n",
       "100004  Top Top West Village location, beautiful Pre-w...   \n",
       "100007  Building Amenities - Garage - Garden - fitness...   \n",
       "100013  Beautifully renovated 3 bedroom flex 4 bedroom...   \n",
       "\n",
       "            display_address  \\\n",
       "10      Metropolitan Avenue   \n",
       "10000       Columbus Avenue   \n",
       "100004          W 13 Street   \n",
       "100007     East 49th Street   \n",
       "100013    West 143rd Street   \n",
       "\n",
       "                                                 features interest_level  \\\n",
       "10                                                     []         medium   \n",
       "10000   [Doorman, Elevator, Fitness Center, Cats Allow...            low   \n",
       "100004  [Laundry In Building, Dishwasher, Hardwood Flo...           high   \n",
       "100007                          [Hardwood Floors, No Fee]            low   \n",
       "100013                                          [Pre-War]            low   \n",
       "\n",
       "        latitude  listing_id  longitude                        manager_id  \\\n",
       "10       40.7145     7211212   -73.9425  5ba989232d0489da1b5f2c45f6688adc   \n",
       "10000    40.7947     7150865   -73.9667  7533621a882f71e25173b27e3139d83d   \n",
       "100004   40.7388     6887163   -74.0018  d9039c43983f6e564b1482b273bd7b01   \n",
       "100007   40.7539     6888711   -73.9677  1067e078446a7897d2da493d2f741316   \n",
       "100013   40.8241     6934781   -73.9493  98e13ad4b495b9613cef886d79a6291f   \n",
       "\n",
       "                                                   photos  price  \\\n",
       "10      [https://photos.renthop.com/2/7211212_1ed4542e...   3000   \n",
       "10000   [https://photos.renthop.com/2/7150865_be3306c5...   5465   \n",
       "100004  [https://photos.renthop.com/2/6887163_de85c427...   2850   \n",
       "100007  [https://photos.renthop.com/2/6888711_6e660cee...   3275   \n",
       "100013  [https://photos.renthop.com/2/6934781_1fa4b41a...   3350   \n",
       "\n",
       "                 street_address  \n",
       "10      792 Metropolitan Avenue  \n",
       "10000       808 Columbus Avenue  \n",
       "100004          241 W 13 Street  \n",
       "100007     333 East 49th Street  \n",
       "100013    500 West 143rd Street  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读入数据\n",
    "train=pd.read_json('RentListingInquries_train.json')\n",
    "test=pd.read_json('RentListingInquries_test.json')\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<bound method DataFrame.info of         bathrooms  bedrooms                       building_id  \\\n",
       "10            1.5         3  53a5b119ba8f7b61d4e010512e0dfc85   \n",
       "10000         1.0         2  c5c8a357cba207596b04d1afd1e4f130   \n",
       "100004        1.0         1  c3ba40552e2120b0acfc3cb5730bb2aa   \n",
       "100007        1.0         1  28d9ad350afeaab8027513a3e52ac8d5   \n",
       "100013        1.0         4                                 0   \n",
       "100014        2.0         4  38a913e46c94a7f46ddf19b756a9640c   \n",
       "100016        1.0         2  3ba49a93260ca5df92fde024cb4ca61f   \n",
       "100020        2.0         1  0372927bcb6a0949613ef5bf893bbac7   \n",
       "100026        1.0         1  a7efbeb58190aa267b4a9121cd0c88c0   \n",
       "100027        2.0         4                                 0   \n",
       "100030        1.0         0                                 0   \n",
       "10004         1.0         1                                 0   \n",
       "100044        1.0         2  67c9b420da4a365bc26a6cd0ef4a5320   \n",
       "100048        2.0         2                                 0   \n",
       "10005         1.0         1                                 0   \n",
       "100051        1.0         0  bfb9405149bfff42a92980b594c28234   \n",
       "100052        1.0         2  642cc2c920512ffe2a74c28122f8b47f   \n",
       "100053        1.0         1                                 0   \n",
       "100055        1.0         4  cc4c6ae9225df6d2395c4e16c235f7ab   \n",
       "100058        1.0         1  dc3cae15729b48fec3394f9295671991   \n",
       "100062        1.0         3  205f95d4a78f1f3befda48b89edc9669   \n",
       "100063        1.0         2  ecea86b79afa539505aa4bad3ff449c6   \n",
       "100065        1.0         1  1a6cf9b71da65cdc0cfd5015a75317ac   \n",
       "100066        1.0         1  a6200d7448037cfee809b2451219f879   \n",
       "10007         2.0         4  05b871a1e1e0368391160bcefc608e00   \n",
       "100071        3.5         4  45b4143a9841eb63d7203c4f21a64ff7   \n",
       "100075        1.0         1  d68497ff1f5ac77f143e5f21817ed6fb   \n",
       "100076        1.0         1  ec447453d3b8033e14a7b54ba1e13e02   \n",
       "100079        1.0         1  f06ad2f6f1a821c8efc03dc195d369df   \n",
       "100081        2.0         2  f115a9bff3a9c4e6eedc9114374b3d74   \n",
       "...           ...       ...                               ...   \n",
       "99915         1.0         1                                 0   \n",
       "99917         1.0         1  e243886a4cac69881c07c6a1f38185bf   \n",
       "99919         1.0         0  da2f861e30b1391e8368438efddaa2a7   \n",
       "99921         1.0         2  fc0676a4d4fdb4e767faf6414975a0cb   \n",
       "99923         2.0         2                                 0   \n",
       "99924         1.0         1  93cd24891f8423d45ac587ab1fdb1225   \n",
       "99931         1.0         1                                 0   \n",
       "99933         1.0         2  80a120d6bc3aba97f40fee8c2204524b   \n",
       "99935         1.0         1                                 0   \n",
       "99937         1.5         0  d48767c37a934daaf0bbb0e58c755d0c   \n",
       "9994          1.0         2                                 0   \n",
       "99953         1.0         1  e243886a4cac69881c07c6a1f38185bf   \n",
       "99956         2.0         2                                 0   \n",
       "99960         1.0         1  6f1e2020bd0e4ff48d3a5d482944a753   \n",
       "99961         2.0         3  ae3e5e3d93ea18140752078f9a3177af   \n",
       "99964         1.0         0  f8009151babfad197b48f6922eec99f2   \n",
       "99965         2.0         3  a485c2deb62ad3c9c76edebd532a446c   \n",
       "99966         1.0         3  a36895b9975c6991ca0fa1d9a99023a1   \n",
       "99979         1.0         1  e4490b8e6a410d39d38e40e572243a64   \n",
       "99980         1.0         0  d16f875956b264d5920d8424631091d4   \n",
       "99982         1.0         1  6134e7c4dd1a98d9aee36623c9872b49   \n",
       "99984         1.0         1  8e7bd3cbdd67a0dcc719224a41699d2b   \n",
       "99986         1.0         1  399f92c2a78ada2f01c8414ce3bc909b   \n",
       "99987         1.0         1                                 0   \n",
       "99988         1.0         1  3b13a6597596619bdbc8281096f21d23   \n",
       "9999          1.0         2  297160caf8a88c10718b492d4672c6b4   \n",
       "99991         1.0         1  9e871ccfea7b07686c101548ca693af6   \n",
       "99992         1.0         1  7967a1280bf3f7644500fc79d2696b0e   \n",
       "99993         1.0         0  ad67f6181a49bde19218929b401b31b7   \n",
       "99994         1.0         2  5173052db6efc0caaa4d817112a70f32   \n",
       "\n",
       "                    created  \\\n",
       "10      2016-06-24 07:54:24   \n",
       "10000   2016-06-12 12:19:27   \n",
       "100004  2016-04-17 03:26:41   \n",
       "100007  2016-04-18 02:22:02   \n",
       "100013  2016-04-28 01:32:41   \n",
       "100014  2016-04-19 04:24:47   \n",
       "100016  2016-04-27 03:19:56   \n",
       "100020  2016-04-13 06:01:42   \n",
       "100026  2016-04-20 02:36:35   \n",
       "100027  2016-04-02 02:58:15   \n",
       "100030  2016-04-14 01:10:30   \n",
       "10004   2016-06-03 03:21:22   \n",
       "100044  2016-04-19 05:37:25   \n",
       "100048  2016-04-09 01:22:11   \n",
       "10005   2016-06-01 03:11:01   \n",
       "100051  2016-04-18 02:36:00   \n",
       "100052  2016-04-22 05:57:16   \n",
       "100053  2016-04-19 03:36:28   \n",
       "100055  2016-04-20 04:00:32   \n",
       "100058  2016-04-09 03:49:42   \n",
       "100062  2016-04-12 02:39:45   \n",
       "100063  2016-04-07 02:11:45   \n",
       "100065  2016-04-13 05:17:43   \n",
       "100066  2016-04-17 02:26:52   \n",
       "10007   2016-06-07 04:39:56   \n",
       "100071  2016-04-27 06:43:40   \n",
       "100075  2016-04-25 02:29:50   \n",
       "100076  2016-04-22 05:39:10   \n",
       "100079  2016-04-21 05:27:10   \n",
       "100081  2016-04-26 02:59:37   \n",
       "...                     ...   \n",
       "99915   2016-04-25 01:13:37   \n",
       "99917   2016-04-26 04:43:14   \n",
       "99919   2016-04-08 05:51:57   \n",
       "99921   2016-04-29 15:03:29   \n",
       "99923   2016-04-05 01:12:45   \n",
       "99924   2016-04-24 03:15:18   \n",
       "99931   2016-04-25 01:20:23   \n",
       "99933   2016-04-03 03:51:21   \n",
       "99935   2016-04-19 02:58:55   \n",
       "99937   2016-04-14 05:39:33   \n",
       "9994    2016-06-06 01:22:44   \n",
       "99953   2016-04-26 02:18:16   \n",
       "99956   2016-04-16 16:39:50   \n",
       "99960   2016-04-05 04:35:32   \n",
       "99961   2016-04-22 03:11:44   \n",
       "99964   2016-04-29 05:20:49   \n",
       "99965   2016-04-03 05:23:23   \n",
       "99966   2016-04-15 05:36:39   \n",
       "99979   2016-04-14 03:32:24   \n",
       "99980   2016-04-27 12:52:12   \n",
       "99982   2016-04-07 02:29:00   \n",
       "99984   2016-04-02 03:17:03   \n",
       "99986   2016-04-14 03:39:42   \n",
       "99987   2016-04-11 03:29:05   \n",
       "99988   2016-04-22 15:44:11   \n",
       "9999    2016-06-02 05:41:05   \n",
       "99991   2016-04-04 18:22:34   \n",
       "99992   2016-04-16 02:13:40   \n",
       "99993   2016-04-08 02:13:33   \n",
       "99994   2016-04-12 02:48:07   \n",
       "\n",
       "                                              description  \\\n",
       "10      A Brand New 3 Bedroom 1.5 bath ApartmentEnjoy ...   \n",
       "10000                                                       \n",
       "100004  Top Top West Village location, beautiful Pre-w...   \n",
       "100007  Building Amenities - Garage - Garden - fitness...   \n",
       "100013  Beautifully renovated 3 bedroom flex 4 bedroom...   \n",
       "100014                                                      \n",
       "100016  Stunning unit with a great location and lots o...   \n",
       "100020  This huge sunny ,plenty of lights 1 bed/2 bath...   \n",
       "100026                           <p><a  website_redacted    \n",
       "100027  This is a spacious four bedroom with every bed...   \n",
       "100030  New to the market! Spacious studio located in ...   \n",
       "10004   Check out this one bedroom apartment in a grea...   \n",
       "100044  ***LOW FEE. Beautiful CHERRY OAK WOODEN FLOORS...   \n",
       "100048  Lincoln Square's premier full service building...   \n",
       "10005   Spacious 1-Bedroom to fit King-sized bed comfo...   \n",
       "100051  Stunning  full renovated studio unit. High cei...   \n",
       "100052  East Village is a great community with great p...   \n",
       "100053  *Location: Thayer St. &amp; Broadway, Manhatta...   \n",
       "100055                                                      \n",
       "100058                                                      \n",
       "100062  BEAUTIFUL 2 BEDROOM POSSIBLE CONVERSION INTO T...   \n",
       "100063  No fee huge two bedroom apartment. Great locat...   \n",
       "100065                                                      \n",
       "100066  CooperCooper.com :: Web ID #179546; Access 100...   \n",
       "10007   SPRAWLING 2 BEDROOM FOUND! ENJOY THE LUXURY OF...   \n",
       "100071  Amazing 4 bedroom convertible. Remarkably luxu...   \n",
       "100075  Don't miss out on this fantastic apartment.......   \n",
       "100076  The TRUE 1 bedroom apartment features extra la...   \n",
       "100079          Currently under renovation, this one b...   \n",
       "100081  Gut Renovated Apartment with Stainless steel a...   \n",
       "...                                                   ...   \n",
       "99915   Elegant, spacious one bedroom in modern luxury...   \n",
       "99917                                                       \n",
       "99919   (((((IMPORTANT NOTICE))))) If you are planning...   \n",
       "99921   WASHER & DRYER IN UNIT ++ 5 MINUTE WALK TO R T...   \n",
       "99923   Tremendous Classic Six in a Luxurious Prewar D...   \n",
       "99924   Luxury Living--- Full-Time Doorman--- Concierg...   \n",
       "99931   Only one block form Washington Square Park! Ne...   \n",
       "99933   THIS RESIDENCE FEATURES STAINLESS STEAL  APPLI...   \n",
       "99935   This newly renovated 1 bedroom unit is recentl...   \n",
       "99937   Bedroom on top, Living room on bottom<br /><br...   \n",
       "9994    Don't miss out on this spacious and beautiful ...   \n",
       "99953   This exquisitely appointed 1 bedroom, 1 bath r...   \n",
       "99956   This spacious two bedroom apartment features e...   \n",
       "99960   Great Lower East Side one bedroom.Well maintai...   \n",
       "99961   THIS LARGE AND SPACIOUS 3 BD/ONE BA APARTMENT ...   \n",
       "99964   77TH ST! FULLY GUT RENOV STUDIO! HI CEIL! XPSD...   \n",
       "99965   Full-Time Doorman PET FRIENDLYElevator GYMLaun...   \n",
       "99966   This is a Great Opportunity to Rent an Excelle...   \n",
       "99979                                                       \n",
       "99980   Incredibly sunny and spacious studio apartment...   \n",
       "99982   LUXURY BUILDING IN MIDTOWN WEST, 24 HR DOORMAN...   \n",
       "99984   Huge true king size one bedroom in an elevator...   \n",
       "99986   Charming one bedroom! Hardwood floors, sunny, ...   \n",
       "99987   **89th & Park Ave! (block from the central par...   \n",
       "99988   24hr Doorman Luxury building in the heart of t...   \n",
       "9999    30TH/3RD, MASSIVE CONV 2BR IN LUXURY FULL SERV...   \n",
       "99991   HIGH END condo finishes, swimming pool, and ki...   \n",
       "99992   Large Renovated One Bedroom Apartment with Sta...   \n",
       "99993   Stylishly sleek studio apartment with unsurpas...   \n",
       "99994   Look no further!!!  This giant 2 bedroom apart...   \n",
       "\n",
       "            display_address  \\\n",
       "10      Metropolitan Avenue   \n",
       "10000       Columbus Avenue   \n",
       "100004          W 13 Street   \n",
       "100007     East 49th Street   \n",
       "100013    West 143rd Street   \n",
       "100014     West 18th Street   \n",
       "100016    West 107th Street   \n",
       "100020     West 21st Street   \n",
       "100026     Hamilton Terrace   \n",
       "100027           522 E 11th   \n",
       "100030          York Avenue   \n",
       "10004       W. 173rd Street   \n",
       "100044            E 38th St   \n",
       "100048     West 63rd Street   \n",
       "10005        East 56th St..   \n",
       "100051     East 34th Street   \n",
       "100052             1st Ave.   \n",
       "100053            Thayer St   \n",
       "100055    West 106th Street   \n",
       "100058           1st Avenue   \n",
       "100062       Madison Avenue   \n",
       "100063           E 30th St,   \n",
       "100065     East 35th Street   \n",
       "100066       Liberty Street   \n",
       "10007              W 18 St.   \n",
       "100071            East 56th   \n",
       "100075           E 81st St.   \n",
       "100076     West 57th Street   \n",
       "100079   1215 Morris Avenue   \n",
       "100081           E 79th St.   \n",
       "...                     ...   \n",
       "99915     North 10th Street   \n",
       "99917             W 58th St   \n",
       "99919      East 78th Street   \n",
       "99921          Ridge Blvd.    \n",
       "99923      West 81st Street   \n",
       "99924            8th Avenue   \n",
       "99931       Thompson Street   \n",
       "99933                 Water   \n",
       "99935      East 12th Street   \n",
       "99937           York Avenue   \n",
       "9994       West 98th Street   \n",
       "99953      West 58th Street   \n",
       "99956         Nassau Street   \n",
       "99960         Baxter Street   \n",
       "99961       East 3rd Street   \n",
       "99964               E 77 St   \n",
       "99965      East 87th Street   \n",
       "99966      East 72nd Street   \n",
       "99979             Eldert St   \n",
       "99980           John Street   \n",
       "99982              W 54 St.   \n",
       "99984           E 76 Street   \n",
       "99986        Charles Street   \n",
       "99987      East 89th Street   \n",
       "99988      East 10th Street   \n",
       "9999                E 30 St   \n",
       "99991             Rector Pl   \n",
       "99992      West 45th Street   \n",
       "99993           Wall Street   \n",
       "99994     Park Terrace East   \n",
       "\n",
       "                                                 features interest_level  \\\n",
       "10                                                     []         medium   \n",
       "10000   [Doorman, Elevator, Fitness Center, Cats Allow...            low   \n",
       "100004  [Laundry In Building, Dishwasher, Hardwood Flo...           high   \n",
       "100007                          [Hardwood Floors, No Fee]            low   \n",
       "100013                                          [Pre-War]            low   \n",
       "100014                                                 []         medium   \n",
       "100016  [prewar, elevator, Dogs Allowed, Cats Allowed,...            low   \n",
       "100020  [Doorman, Elevator, Pre-War, Terrace, Laundry ...            low   \n",
       "100026  [Cats Allowed, Dogs Allowed, Elevator, Laundry...         medium   \n",
       "100027                      [Dishwasher, Hardwood Floors]            low   \n",
       "100030                                                 []            low   \n",
       "10004   [prewar, dishwasher, HIGHRISE, ROOFDECK, EAT I...            low   \n",
       "100044   [Doorman, Elevator, Laundry in Building, No Fee]           high   \n",
       "100048  [Swimming Pool, Doorman, Fitness Center, No Fe...            low   \n",
       "10005   [Elevator, Multi-Level, Laundry in Building, D...            low   \n",
       "100051  [Doorman, Elevator, Fitness Center, Laundry in...         medium   \n",
       "100052                                  [Hardwood Floors]            low   \n",
       "100053  [prewar, LOWRISE, EAT IN KITCHEN, SIMPLEX, HAR...            low   \n",
       "100055               [No Fee, Cats Allowed, Dogs Allowed]            low   \n",
       "100058                       [Cats Allowed, Dogs Allowed]            low   \n",
       "100062   [Doorman, Elevator, Dishwasher, Hardwood Floors]            low   \n",
       "100063  [Elevator, Central A/C, Walk in Closet(s), Par...         medium   \n",
       "100065                       [Cats Allowed, Dogs Allowed]            low   \n",
       "100066  [Doorman, Fitness Center, Pool, Elevator, Publ...            low   \n",
       "10007   [Balcony, Doorman, Elevator, Fitness Center, T...         medium   \n",
       "100071  [Roof Deck, Dining Room, Balcony, Doorman, Ele...            low   \n",
       "100075              [Dishwasher, Hardwood Floors, No Fee]         medium   \n",
       "100076  [Roof Deck, Doorman, Elevator, Laundry in Buil...            low   \n",
       "100079                                                 []           high   \n",
       "100081  [Doorman, Elevator, Fitness Center, Pre-War, L...            low   \n",
       "...                                                   ...            ...   \n",
       "99915   [Swimming Pool, Doorman, Fitness Center, Dogs ...            low   \n",
       "99917   [Cats Allowed, Dogs Allowed, Doorman, Elevator...            low   \n",
       "99919   [Elevator, Laundry in Building, Laundry in Uni...         medium   \n",
       "99921                        [Furnished, Laundry In Unit]         medium   \n",
       "99923      [Doorman, Pre-War, Dogs Allowed, Cats Allowed]            low   \n",
       "99924   [Doorman, Laundry in Building, Laundry in Unit...            low   \n",
       "99931                        [Dogs Allowed, Cats Allowed]            low   \n",
       "99933   [Roof Deck, Dining Room, Doorman, Elevator, Fi...            low   \n",
       "99935                                                  []            low   \n",
       "99937   [Pre-War, Laundry in Building, Dishwasher, Har...            low   \n",
       "9994       [Doorman, Pre-War, Dogs Allowed, Cats Allowed]            low   \n",
       "99953   [Doorman, Elevator, Furnished, Pre-War, Dishwa...            low   \n",
       "99956   [Common Outdoor Space, Cats Allowed, Dogs Allo...            low   \n",
       "99960                                   [Hardwood Floors]         medium   \n",
       "99961   [Doorman, Elevator, Laundry in Building, Dishw...            low   \n",
       "99964    [Loft, Multi-Level, Dishwasher, Hardwood Floors]         medium   \n",
       "99965   [Swimming Pool, Dining Room, Doorman, Elevator...            low   \n",
       "99966   [Roof Deck, Doorman, Elevator, Fitness Center,...            low   \n",
       "99979                                                  []            low   \n",
       "99980   [Common Outdoor Space, Cats Allowed, Dogs Allo...            low   \n",
       "99982   [Doorman, Elevator, Fitness Center, Laundry in...           high   \n",
       "99984   [Elevator, Multi-Level, Dishwasher, Hardwood F...            low   \n",
       "99986                         [Elevator, Hardwood Floors]            low   \n",
       "99987                                        [Dishwasher]            low   \n",
       "99988   [Cats Allowed, No Fee, Doorman, Elevator, Laun...         medium   \n",
       "9999    [Elevator, Laundry in Building, Laundry in Uni...         medium   \n",
       "99991   [Common Outdoor Space, Cats Allowed, Dogs Allo...            low   \n",
       "99992   [Doorman, Elevator, Pre-War, Dogs Allowed, Cat...            low   \n",
       "99993   [Doorman, Elevator, Pre-War, Dogs Allowed, Cat...            low   \n",
       "99994                                   [Hardwood Floors]            low   \n",
       "\n",
       "        latitude  listing_id  longitude                        manager_id  \\\n",
       "10       40.7145     7211212   -73.9425  5ba989232d0489da1b5f2c45f6688adc   \n",
       "10000    40.7947     7150865   -73.9667  7533621a882f71e25173b27e3139d83d   \n",
       "100004   40.7388     6887163   -74.0018  d9039c43983f6e564b1482b273bd7b01   \n",
       "100007   40.7539     6888711   -73.9677  1067e078446a7897d2da493d2f741316   \n",
       "100013   40.8241     6934781   -73.9493  98e13ad4b495b9613cef886d79a6291f   \n",
       "100014   40.7429     6894514   -74.0028  b209e2c4384a64cc307c26759ee0c651   \n",
       "100016   40.8012     6930771   -73.9660  01287194f20de51872e81f660def4784   \n",
       "100020   40.7427     6867392   -73.9957  e6472c7237327dd3903b3d6f6a94515a   \n",
       "100026   40.8234     6898799   -73.9457  c1a6598437b7db560cde66e5a297a53f   \n",
       "100027   40.7278     6814332   -73.9808  23a01ea7717b38875f5b070282d1b9d2   \n",
       "100030   40.7769     6869199   -73.9467  e32475a6134d6d18279946b7b20a0f12   \n",
       "10004    40.8448     7102986   -73.9396  2dee0868ac01057760055b856e66e942   \n",
       "100044   40.7488     6895442   -73.9770  537e06890f6a86dbb70c187db5be4d55   \n",
       "100048   40.7707     6846213   -73.9817  3813434aabfbad659a45f86a740cd23f   \n",
       "10005    40.7584     7089402   -73.9648  75f38d077366d7964c2f3bb80c3e7b1d   \n",
       "100051   40.7439     6889043   -73.9743  dbbb6b990661b1e507a387f019bcb1a0   \n",
       "100052   40.7305     6913348   -73.9830  0411b25b134141100d8214ed6ec02f56   \n",
       "100053   40.8643     6894111   -73.9280  ab15d581a04ed87b6f25d5aff8ddde30   \n",
       "100055   40.7999     6900220   -73.9638  8f5a9c893f6d602f4953fcc0b8e6e9b4   \n",
       "100058   40.7328     6848536   -73.9799  8f5a9c893f6d602f4953fcc0b8e6e9b4   \n",
       "100062   40.7454     6858062   -73.9845  3793e58c60343a3fd6846ca2d2ef3c7f   \n",
       "100063   40.7427     6836760   -73.9794  e6472c7237327dd3903b3d6f6a94515a   \n",
       "100065   40.7447     6866830   -73.9741  8f5a9c893f6d602f4953fcc0b8e6e9b4   \n",
       "100066   40.7074     6885927   -74.0081  6e5c10246156ae5bdcd9b487ca99d96a   \n",
       "10007    40.7391     7120132   -73.9936  0cff4a2a147d81e51ae8a91289e129f7   \n",
       "100071   40.7584     6933499   -73.9653  ad3d8ddc52c7e0859b5c6c7f7949c3bd   \n",
       "100075   40.7728     6921632   -73.9502  4f9b376a972b863bbfbdcdc8d717fa4e   \n",
       "100076   40.7709     6913084   -73.9917  63e8c482071c22f43dd91b954e75cc2c   \n",
       "100079   40.8335     6907079   -73.9141  12c0a30e296faa0dfd422fe918d7d4f4   \n",
       "100081   40.7716     6925264   -73.9506  797f306f24780e1a24e4f063d46a2d8d   \n",
       "...          ...         ...        ...                               ...   \n",
       "99915    40.7176     6921019   -73.9531  ac8e91c7b3c57a65a05683e04e4ee334   \n",
       "99917    40.7655     6926146   -73.9785  b06e1df5b2aff97e494bf9aea0d3eb7d   \n",
       "99919    40.7721     6844805   -73.9539  e6472c7237327dd3903b3d6f6a94515a   \n",
       "99921    40.6182     6943991   -74.0360  d23f9a9e6b9f6003f26017bda6dd1cb2   \n",
       "99923    40.7829     6822618   -73.9731  7dbded20b3fed08d7d100bf2214e624b   \n",
       "99924    40.7637     6918969   -73.9847  e1c98bf7f1a044ec4df76abee5f0f5e6   \n",
       "99931    40.7293     6921162   -73.9987  6622a56323ab90abcace1f529cd7c95d   \n",
       "99933    40.7075     6819357   -74.0043  6f1aeac17da650a577a87ac3a143a5ec   \n",
       "99935    40.7287     6893263   -73.9808  4d6dd180ce32ef726c992c6647981978   \n",
       "99937    40.7769     6873182   -73.9467  d90f2151c55212a41a0d965198d5e555   \n",
       "9994     40.7957     7114685   -73.9705  001ce808ce1720e24a9510e014c69707   \n",
       "99953    40.7655     6924210   -73.9785  5ce67c680fc5550aaa20b7c90380de4c   \n",
       "99956    40.7095     6884807   -74.0084  26d69329a0f3b9abecbddd6abcb5b622   \n",
       "99960    40.7179     6825168   -73.9989  453d46f8113e1f2c730c2ee5a4469c71   \n",
       "99961    40.7222     6911061   -73.9824  1fb46c4a72bcf764ac35fc23f394760d   \n",
       "99964    40.7708     6942494   -73.9525  fd960446d2a41002d3b36f25740157ca   \n",
       "99965    40.7766     6819478   -73.9463  2e67103872a6d3e53ccd4e6229bae9b1   \n",
       "99966    40.7695     6878391   -73.9603  fa0e15022a76c748bbc5e1f420439921   \n",
       "99979    40.6865     6871559   -73.9134  324631e1aacaa41bc4475f879756bbb6   \n",
       "99980    40.7090     6933865   -74.0105  045f9f5708f6896535892b85a81d8151   \n",
       "99982    40.7645     6837242   -73.9840  e6472c7237327dd3903b3d6f6a94515a   \n",
       "99984    40.7728     6815109   -73.9591  ac888923cda3b9e4f0311267be25de9c   \n",
       "99986    40.7350     6871681   -74.0007  f9920c687eb43480349a4a3e16fc39cf   \n",
       "99987    40.7889     6856001   -73.9719  bf0d9091553cd99e68fe92b23966e140   \n",
       "99988    40.7296     6913833   -73.9869  e9920062e07ee893c10e38d0259665b0   \n",
       "9999     40.7426     7098690   -73.9790  2a1ee03b449700c3a15dd8c9a505c525   \n",
       "99991    40.7102     6822449   -74.0163  ef20d40b528500037e37b167787ac089   \n",
       "99992    40.7601     6881461   -73.9900  d889a9552265fe359e7d36d172084fcb   \n",
       "99993    40.7066     6841891   -74.0101  9fd3af5b2d23951e028059e8940a55d7   \n",
       "99994    40.8699     6858245   -73.9172  d7f57128272bfd82e33a61999b5f4c42   \n",
       "\n",
       "                                                   photos  price  \\\n",
       "10      [https://photos.renthop.com/2/7211212_1ed4542e...   3000   \n",
       "10000   [https://photos.renthop.com/2/7150865_be3306c5...   5465   \n",
       "100004  [https://photos.renthop.com/2/6887163_de85c427...   2850   \n",
       "100007  [https://photos.renthop.com/2/6888711_6e660cee...   3275   \n",
       "100013  [https://photos.renthop.com/2/6934781_1fa4b41a...   3350   \n",
       "100014  [https://photos.renthop.com/2/6894514_9abb8592...   7995   \n",
       "100016  [https://photos.renthop.com/2/6930771_7e3622b6...   3600   \n",
       "100020  [https://photos.renthop.com/2/6867392_b18283f6...   5645   \n",
       "100026  [https://photos.renthop.com/2/6898799_3759be4c...   1725   \n",
       "100027  [https://photos.renthop.com/2/6814332_e19a8552...   5800   \n",
       "100030  [https://photos.renthop.com/2/6869199_06b2601f...   1950   \n",
       "10004   [https://photos.renthop.com/2/7102986_ca6af538...   1675   \n",
       "100044  [https://photos.renthop.com/2/6895442_34d617a5...   3000   \n",
       "100048  [https://photos.renthop.com/2/6846213_83258754...   6895   \n",
       "10005   [https://photos.renthop.com/2/7089402_66038eaa...   3050   \n",
       "100051  [https://photos.renthop.com/2/6889043_a3e1c004...   2350   \n",
       "100052  [https://photos.renthop.com/2/6913348_829f19ac...   3650   \n",
       "100053  [https://photos.renthop.com/2/6894111_571fa57d...   1695   \n",
       "100055                                                 []   5000   \n",
       "100058  [https://photos.renthop.com/2/6848536_9a3e1f87...   3973   \n",
       "100062  [https://photos.renthop.com/2/6858062_5cfb9d90...   4395   \n",
       "100063  [https://photos.renthop.com/2/6836760_6edeb636...   2999   \n",
       "100065                                                 []   2595   \n",
       "100066  [https://photos.renthop.com/2/6885927_3eb33bbc...   3695   \n",
       "10007   [https://photos.renthop.com/2/7120132_8e47916c...   7400   \n",
       "100071  [https://photos.renthop.com/2/6933499_53ad35f0...   7500   \n",
       "100075  [https://photos.renthop.com/2/6921632_563cdcee...   2295   \n",
       "100076  [https://photos.renthop.com/2/6913084_e1aef7e1...   3164   \n",
       "100079  [https://photos.renthop.com/2/6907079_2cc12101...   1350   \n",
       "100081  [https://photos.renthop.com/2/6925264_59f5dc7a...   5600   \n",
       "...                                                   ...    ...   \n",
       "99915   [https://photos.renthop.com/2/6921019_05091585...   3126   \n",
       "99917   [https://photos.renthop.com/2/6926146_f82d7aff...   3325   \n",
       "99919   [https://photos.renthop.com/2/6844805_b2a3a213...   2100   \n",
       "99921   [https://photos.renthop.com/2/6943991_0a32ffd3...   3500   \n",
       "99923   [https://photos.renthop.com/2/6822618_d04c2ece...  11950   \n",
       "99924   [https://photos.renthop.com/2/6918969_e88539cc...   2980   \n",
       "99931   [https://photos.renthop.com/2/6921162_5d6df102...   2850   \n",
       "99933   [https://photos.renthop.com/2/6819357_700208a6...   2885   \n",
       "99935   [https://photos.renthop.com/2/6893263_f1f39ce2...   2950   \n",
       "99937   [https://photos.renthop.com/2/6873182_babdece5...   2650   \n",
       "9994    [https://photos.renthop.com/2/7114685_7b7f598a...   4850   \n",
       "99953   [https://photos.renthop.com/2/6924210_27c32e80...   3475   \n",
       "99956   [https://photos.renthop.com/2/6884807_158a7214...   5815   \n",
       "99960   [https://photos.renthop.com/2/6825168_f94cee7d...   2050   \n",
       "99961   [https://photos.renthop.com/2/6911061_25c3f3b1...   4600   \n",
       "99964   [https://photos.renthop.com/2/6942494_edcfce0d...   2000   \n",
       "99965   [https://photos.renthop.com/2/6819478_832d3d70...   9200   \n",
       "99966   [https://photos.renthop.com/2/6878391_59754267...   4550   \n",
       "99979                                                  []   1900   \n",
       "99980   [https://photos.renthop.com/2/6933865_9bdcae03...   2500   \n",
       "99982   [https://photos.renthop.com/2/6837242_3fbdc629...   2500   \n",
       "99984   [https://photos.renthop.com/2/6815109_1ec75160...   2675   \n",
       "99986   [https://photos.renthop.com/2/6871681_f2e17c12...   3645   \n",
       "99987   [https://photos.renthop.com/2/6856001_5d031c59...   2179   \n",
       "99988   [https://photos.renthop.com/2/6913833_a5587e14...   4500   \n",
       "9999    [https://photos.renthop.com/2/7098690_18396d32...   3200   \n",
       "99991   [https://photos.renthop.com/2/6822449_b429587b...   3950   \n",
       "99992   [https://photos.renthop.com/2/6881461_20a86530...   2595   \n",
       "99993   [https://photos.renthop.com/2/6841891_124c9c44...   3350   \n",
       "99994   [https://photos.renthop.com/2/6858245_c4380bde...   2200   \n",
       "\n",
       "                 street_address  \n",
       "10      792 Metropolitan Avenue  \n",
       "10000       808 Columbus Avenue  \n",
       "100004          241 W 13 Street  \n",
       "100007     333 East 49th Street  \n",
       "100013    500 West 143rd Street  \n",
       "100014     350 West 18th Street  \n",
       "100016    210 West 107th Street  \n",
       "100020     155 West 21st Street  \n",
       "100026      63 Hamilton Terrace  \n",
       "100027               522 E 11th  \n",
       "100030         1661 York Avenue  \n",
       "10004       644 W. 173rd Street  \n",
       "100044            137 E 38th St  \n",
       "100048      30 West 63rd Street  \n",
       "10005        315 East 56th St..  \n",
       "100051     340 East 34th Street  \n",
       "100052             214 1st Ave.  \n",
       "100053             98 Thayer St  \n",
       "100055    127 West 106th Street  \n",
       "100058           272 1st Avenue  \n",
       "100062       121 Madison Avenue  \n",
       "100063           210 E 30th St,  \n",
       "100065     326 East 35th Street  \n",
       "100066        10 Liberty Street  \n",
       "10007               30 W 18 St.  \n",
       "100071            310 East 56th  \n",
       "100075           444 E 81st St.  \n",
       "100076     601 West 57th Street  \n",
       "100079       1215 Morris Avenue  \n",
       "100081           435 E 79th St.  \n",
       "...                         ...  \n",
       "99915     250 North 10th Street  \n",
       "99917             150 W 58th St  \n",
       "99919      353 East 78th Street  \n",
       "99921           9319 Ridge Blvd  \n",
       "99923       25 West 81st Street  \n",
       "99924            888 8th Avenue  \n",
       "99931       230 Thompson Street  \n",
       "99933                 200 Water  \n",
       "99935      508 East 12th Street  \n",
       "99937          1661 York Avenue  \n",
       "9994       220 West 98th Street  \n",
       "99953      150 West 58th Street  \n",
       "99956             Nassau Street  \n",
       "99960         119 Baxter Street  \n",
       "99961       222 East 3rd Street  \n",
       "99964               425 E 77 St  \n",
       "99965      501 East 87th Street  \n",
       "99966      200 East 72nd Street  \n",
       "99979              51 eldert st  \n",
       "99980           116 John Street  \n",
       "99982              260 W 54 St.  \n",
       "99984           191 E 76 Street  \n",
       "99986          6 Charles Street  \n",
       "99987      117 East 89th Street  \n",
       "99988            166 2nd avenue  \n",
       "9999                230 E 30 St  \n",
       "99991          225 Rector Place  \n",
       "99992      341 West 45th Street  \n",
       "99993            37 Wall Street  \n",
       "99994      30 Park Terrace East  \n",
       "\n",
       "[49352 rows x 15 columns]>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.info"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>building_id</th>\n",
       "      <th>created</th>\n",
       "      <th>description</th>\n",
       "      <th>display_address</th>\n",
       "      <th>features</th>\n",
       "      <th>latitude</th>\n",
       "      <th>listing_id</th>\n",
       "      <th>longitude</th>\n",
       "      <th>manager_id</th>\n",
       "      <th>photos</th>\n",
       "      <th>price</th>\n",
       "      <th>street_address</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>79780be1514f645d7e6be99a3de696c5</td>\n",
       "      <td>2016-06-11 05:29:41</td>\n",
       "      <td>Large with awesome terrace--accessible via bed...</td>\n",
       "      <td>Suffolk Street</td>\n",
       "      <td>[Elevator, Laundry in Building, Laundry in Uni...</td>\n",
       "      <td>40.7185</td>\n",
       "      <td>7142618</td>\n",
       "      <td>-73.9865</td>\n",
       "      <td>b1b1852c416d78d7765d746cb1b8921f</td>\n",
       "      <td>[https://photos.renthop.com/2/7142618_1c45a2c8...</td>\n",
       "      <td>2950</td>\n",
       "      <td>99 Suffolk Street</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2016-06-24 06:36:34</td>\n",
       "      <td>Prime Soho - between Bleecker and Houston - Ne...</td>\n",
       "      <td>Thompson Street</td>\n",
       "      <td>[Pre-War, Dogs Allowed, Cats Allowed]</td>\n",
       "      <td>40.7278</td>\n",
       "      <td>7210040</td>\n",
       "      <td>-74.0000</td>\n",
       "      <td>d0b5648017832b2427eeb9956d966a14</td>\n",
       "      <td>[https://photos.renthop.com/2/7210040_d824cc71...</td>\n",
       "      <td>2850</td>\n",
       "      <td>176 Thompson Street</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>3dbbb69fd52e0d25131aa1cd459c87eb</td>\n",
       "      <td>2016-06-03 04:29:40</td>\n",
       "      <td>New York chic has reached a new level ...</td>\n",
       "      <td>101 East 10th Street</td>\n",
       "      <td>[Doorman, Elevator, No Fee]</td>\n",
       "      <td>40.7306</td>\n",
       "      <td>7103890</td>\n",
       "      <td>-73.9890</td>\n",
       "      <td>9ca6f3baa475c37a3b3521a394d65467</td>\n",
       "      <td>[https://photos.renthop.com/2/7103890_85b33077...</td>\n",
       "      <td>3758</td>\n",
       "      <td>101 East 10th Street</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>783d21d013a7e655bddc4ed0d461cc5e</td>\n",
       "      <td>2016-06-11 06:17:35</td>\n",
       "      <td>Step into this fantastic new Construction in t...</td>\n",
       "      <td>South Third Street\\r</td>\n",
       "      <td>[Roof Deck, Balcony, Elevator, Laundry in Buil...</td>\n",
       "      <td>40.7109</td>\n",
       "      <td>7143442</td>\n",
       "      <td>-73.9571</td>\n",
       "      <td>0b9d5db96db8472d7aeb67c67338c4d2</td>\n",
       "      <td>[https://photos.renthop.com/2/7143442_0879e9e0...</td>\n",
       "      <td>3300</td>\n",
       "      <td>251  South Third Street\\r</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100000</th>\n",
       "      <td>2.0</td>\n",
       "      <td>2</td>\n",
       "      <td>6134e7c4dd1a98d9aee36623c9872b49</td>\n",
       "      <td>2016-04-12 05:24:17</td>\n",
       "      <td>~Take a stroll in Central Park, enjoy the ente...</td>\n",
       "      <td>Midtown West, 8th Ave</td>\n",
       "      <td>[Common Outdoor Space, Cats Allowed, Dogs Allo...</td>\n",
       "      <td>40.7650</td>\n",
       "      <td>6860601</td>\n",
       "      <td>-73.9845</td>\n",
       "      <td>b5eda0eb31b042ce2124fd9e9fcfce2f</td>\n",
       "      <td>[https://photos.renthop.com/2/6860601_c96164d8...</td>\n",
       "      <td>4900</td>\n",
       "      <td>260 West 54th Street</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        bathrooms  bedrooms                       building_id  \\\n",
       "0             1.0         1  79780be1514f645d7e6be99a3de696c5   \n",
       "1             1.0         2                                 0   \n",
       "100           1.0         1  3dbbb69fd52e0d25131aa1cd459c87eb   \n",
       "1000          1.0         2  783d21d013a7e655bddc4ed0d461cc5e   \n",
       "100000        2.0         2  6134e7c4dd1a98d9aee36623c9872b49   \n",
       "\n",
       "                    created  \\\n",
       "0       2016-06-11 05:29:41   \n",
       "1       2016-06-24 06:36:34   \n",
       "100     2016-06-03 04:29:40   \n",
       "1000    2016-06-11 06:17:35   \n",
       "100000  2016-04-12 05:24:17   \n",
       "\n",
       "                                              description  \\\n",
       "0       Large with awesome terrace--accessible via bed...   \n",
       "1       Prime Soho - between Bleecker and Houston - Ne...   \n",
       "100             New York chic has reached a new level ...   \n",
       "1000    Step into this fantastic new Construction in t...   \n",
       "100000  ~Take a stroll in Central Park, enjoy the ente...   \n",
       "\n",
       "              display_address  \\\n",
       "0              Suffolk Street   \n",
       "1             Thompson Street   \n",
       "100      101 East 10th Street   \n",
       "1000     South Third Street\\r   \n",
       "100000  Midtown West, 8th Ave   \n",
       "\n",
       "                                                 features  latitude  \\\n",
       "0       [Elevator, Laundry in Building, Laundry in Uni...   40.7185   \n",
       "1                   [Pre-War, Dogs Allowed, Cats Allowed]   40.7278   \n",
       "100                           [Doorman, Elevator, No Fee]   40.7306   \n",
       "1000    [Roof Deck, Balcony, Elevator, Laundry in Buil...   40.7109   \n",
       "100000  [Common Outdoor Space, Cats Allowed, Dogs Allo...   40.7650   \n",
       "\n",
       "        listing_id  longitude                        manager_id  \\\n",
       "0          7142618   -73.9865  b1b1852c416d78d7765d746cb1b8921f   \n",
       "1          7210040   -74.0000  d0b5648017832b2427eeb9956d966a14   \n",
       "100        7103890   -73.9890  9ca6f3baa475c37a3b3521a394d65467   \n",
       "1000       7143442   -73.9571  0b9d5db96db8472d7aeb67c67338c4d2   \n",
       "100000     6860601   -73.9845  b5eda0eb31b042ce2124fd9e9fcfce2f   \n",
       "\n",
       "                                                   photos  price  \\\n",
       "0       [https://photos.renthop.com/2/7142618_1c45a2c8...   2950   \n",
       "1       [https://photos.renthop.com/2/7210040_d824cc71...   2850   \n",
       "100     [https://photos.renthop.com/2/7103890_85b33077...   3758   \n",
       "1000    [https://photos.renthop.com/2/7143442_0879e9e0...   3300   \n",
       "100000  [https://photos.renthop.com/2/6860601_c96164d8...   4900   \n",
       "\n",
       "                   street_address  \n",
       "0               99 Suffolk Street  \n",
       "1             176 Thompson Street  \n",
       "100          101 East 10th Street  \n",
       "1000    251  South Third Street\\r  \n",
       "100000       260 West 54th Street  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11dac75f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#感兴趣程度显示\n",
    "int_level = train['interest_level'].value_counts()\n",
    "plt.figure(figsize=(10,5))\n",
    "sns.barplot(int_level.index, int_level.values, alpha=0.6)\n",
    "plt.title('distribution of interest level by count')\n",
    "plt.ylabel('Count')\n",
    "plt.xlabel('Interest level')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "感兴趣程度低的样本数远远大于中等和高等，在模型训练时要对样本进行平衡。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11edc1860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#价格对于感兴趣程度的分析\n",
    "plt.figure(figsize=(10,5))\n",
    "sns.barplot(train['interest_level'], train['price'], alpha=0.6, order=['low','medium','high'])\n",
    "plt.title('distribution of interest level by price')\n",
    "plt.ylabel('price')\n",
    "plt.xlabel('Interest level')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过直方图显示，价格高的感兴趣程度低，价格低的感兴趣程度高，人们更希望花少点钱，符合常理。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f1023620f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#先看看浴室的数量分布\n",
    "cnt_srs = train['bathrooms'].value_counts()\n",
    "plt.figure(figsize=(10,5))\n",
    "sns.barplot(cnt_srs.index,cnt_srs.values,alpha=0.8)\n",
    "plt.xlabel(\"number of occurrences\",fontsize = 12)\n",
    "plt.ylabel(\"bathrooms\",fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到绝大多数的样例的浴室数量为1，其次为2个浴室。\n",
    "\n",
    "再看看不同兴趣程度的浴室数量分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "data": {
      "image/png": "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idFcfvRIQ8fTO+lh63AyTO8aKyISTx4fli9bOhOmzzvvPJ0FkoIzPj7OK6+8wvbt29m+fTsvv/LyTPcST+CI1u1qTn30kskjWqVHk9ugMYa29jbWrlnL6tWrOeecc2htbVUXjhxTuBZXRCIRduzYcThwv7SN6dAU8ap2oh2XJocHPA7vof2U7H8GG5mkqbmF885dO9My3dLSop2IyKsYHR2dCdtbt2xm/4FuPAb+rDXMe5ZPE3iVhuVwAn7WWcIvuwM4FtrbWll3wfqZMF3IMxSKHEsikWDv3r28/PLLbN++nZe2vUR/aoIqU2ZInJ3AttuTb9EeA882D6Y/+YaS0hJWn7Oa1auTt7POOovy8vIs/TVyshSuZUGIx+P85Cc/4bvfvY+4hXDzeuL1Z86ZAMdEpyja/wy+g/to7+jg85/7HOecc46LVYuc/oaHh/ne977HI488QkHaxSoAABD/SURBVG0p/OUZE6ypjh+13rYRH9/dWUEwBFdddRXXXnstNTU1LlQscnpL/8B94AcPsHvXbsxiQ3x1HBo5fsieAvOywbPfQ0lpCde87xre8IY30N7eXtCjcixUCteyoPT29vKNW29ly+bN2PI6ppdfjg0swhfcReDA7/EZuO66a3nve9+riy1EMuiFF17gH7/+dbp7e7msMcIHVk1T5rdMxQwP7CphU38xrc3NfPbzn+fcc891u1yR0561lieeeIJ/+vY/JVuzayCxJgGzf7NGwOww/397dx50V13fcfz94QlZZA8kEWTTYscqxTomyq6tGHAjrURAqFbR6Ey14B/UEXUcBnU6tHXohlatuLK51GkUpop1EMGKRCsgKAOyFBQhCYSySMKTfPvHPak3T8MWz3MOuff9msncs/zOc75PknPP5/zu757DxM8nmJiYYOkxSznxxBPZaaedeqtbj89wraecquKSSy7hbz/yER6YPZ91+xzM066+gP3335/3nnYae+65Z98lSiNp7dq1fO5zn+O8887lRbs9zDt+/0HOvnY7frBqNieccCJvfOMbvae01LLJyUkuuugiPnXOp1hz7xrWH7Yeng6shxmXzIAH4KijjuKkk05iwYIFfZerJ+CJhmu7CNWZJCxevJhbb72VL5x7LjUxkwDvf9/72GOPPfouTxpZs2bNYtmyZaxbt44vffFCXnbvWq68eybHHncsy5Yt67s8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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f102271898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train['bathrooms'].loc[train['bathrooms']>3]=3\n",
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "sns.violinplot(x = 'interest_level',y = 'bathrooms',data= train,alpha=0.8)\n",
    "plt.xlabel(\"interest level\",fontsize = 12)\n",
    "plt.ylabel(\"bathrooms\",fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不同的兴趣程度上，浴室数量的分布差不多。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f10230e828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cnt_bedrooms = train['bedrooms'].value_counts()\n",
    "plt.figure(figsize=(10,5))\n",
    "sns.barplot(cnt_bedrooms.index,cnt_bedrooms.values,alpha=0.8)\n",
    "plt.ylabel(\"number of occurrences\",fontsize = 12)\n",
    "plt.xlabel(\"bedrooms\",fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "卧室数量基本集中在1和2，也有不少没有卧室，3个卧室的房子也不少。\n",
    "同样看看不同兴趣程度的卧室数量分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAF6CAYAAADBMzQEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xd8VFX+//HXmZZeKAmB0Gsg9CYgSFURdBULFhbF1UVdFdtX2eJ37b9d3VW/roK9gmJfFRAE6aD0TmhBCSWFJKSXmbn3nt8fE1xkUVqmZPJ5Ph55OGFu5n6EzMx7zv2cc5TWGiGEEEIIIYT/2YJdgBBCCCGEEPWFhG8hhBBCCCECRMK3EEIIIYQQASLhWwghhBBCiACR8C2EEEIIIUSASPgWQgghhBAiQCR8CyGEEEIIESASvoUQQgghhAgQCd9CCCGEEEIEiIRvIYQQQgghAsQR7AL8qXHjxrp169bBLkMIIYQQQoS5DRs2FGitk051XFiH79atW7N+/fpglyGEEEIIIcKcUirrdI6TthMhhBBCCCECJCTCt1IqUim1Vim1RSm1Qyn12EmOmaSUyldKba75ujUYtQohhBBCCHG2QqXtxA2M0FqXK6WcwEql1Dyt9eoTjvtIa31XEOoTQgghhBDinIVE+NZaa6C85ltnzZcOXkVCCCGEEELUvpBoOwFQStmVUpuBI8BCrfWakxx2lVJqq1LqU6VUiwCXKIQQQgghxDkJmfCttTa11j2B5kB/pVTXEw6ZDbTWWncHvgXePdnjKKUmK6XWK6XW5+fn+7doIYQQQgghzkDIhO9jtNbFwFJg9Al/Xqi1dtd8+zrQ5xd+/jWtdV+tdd+kpFMutSiEEEIIIUTAhET4VkolKaUSa25HAaOAXScc0/S4b38D7AxchUIIIYQQQpy7kJhwCTQF3lVK2fF9IPhYaz1HKfU4sF5r/RUwRSn1G8AAjgKTglatEEIIIYQQZ0H5FhoJT3379tWyw6UQQgghhPA3pdQGrXXfUx0XEm0nQgghhBBC1AcSvoUQQgghhAiQUOn5FkIIIYSoN6qrq/n73/9Odnb2rx7Xvn17HnjgAex2e4AqE/4m4VsIIYQQIsDeeecdFi9ejG6iQf3CQSbs2rWLtm3bcvXVVwe0PuE/Er6FEEIIIQIoMzOTDz/8EKuNhe77KwtfaLCvtPPqa68yZMgQmjRpErgihd9Iz7cQQgghRIB4vV6efvppcIHufooV5xSYvU08hodnn30Wy7ICU6TwKwnfQgghhBAB8sILL7B79268vbzgOo0fiAGzq8nq1auZMWOG3+sT/ifhWwghhBAiAObMmcNXX32F1cmC5qf/c7q9xmpp8dZbb/H999/7r0ARENLzLYIqKyuLWbNm4fF4TvtnHA4H48aNo3Pnzn6sTAghhKg9W7Zs4dnnnoUmoLud4QaHCnQfDWXw6GOP8vL0l2nbtq1/ChV+JztciqDZvHkzf/zTn6hye8AZffo/6K3GYdM88te/csEFF/ivQCGEEKIW7Nixg3vvuxePy4MxzICIs3ygCnAsdRDvimfaS9No2bJlrdYpzs3p7nAp4VsExYIFC/jb3/6GGRFPZYeL0JFxp//D3iqi9yxEVeRz1513cs0116DUL63TJIQQQgTP7t27mXLPFKrt1RhDDYg6xwcsBccyB4kxiUx/aTqpqam1Uqc4d7K9vAhJbrebl19+mSeffBJPTDIVnS89s+AN4IyisvMYjAateOmll3jmmWeorKz0T8FCCCHEWdq9ezf33X8f1aoa44JaCN4A8WBcYFBcXszdU+7m4MGDtfCgIpAkfIuA2b59Ozf/7nfMmjULb3Ia1Z1Gg+Msr73ZHLjbj8TTrAdz587ltxNvZO3atbVbsBBCCHGW1q5dy11330WFVeEL3mfQXXlKCWAMMSgsK+SOP9zBrl27avHBhb9J24nwu+rqat544w0+/uQTcMVQ3XowZuIZTPM+BVtZHlH7V0BlMZdccgl33XUXcXFnOJouhBBC1JIFCxbw//72/9BxGmNwLY14n0wZOFY6cBkunnryKfr37++nE4nTIT3fSPgONsuyWLJkCa+8+ip5ubl4kzvjadEPHKezsOmZnszAeXgTrpytJCYmcusttzBmzBgcDlnQR4gTlZSU8Prrr7Nk8SLO9D2gcePG3PGHOxk4cKCfqhOi7tJaM2vWLF555RVIBnOQCU4/n7TKF8BVmWLqQ1O55JJL/HxC8UskfCPhO5jWrVvH9JdfZl9mJjqmIdUtB2DFN/P7eW0VBURkfY+tLI/U5s25bfJkhg4dKhMyhcD3gXjevHm8PH0a5eXlDGjiJtZ5Zu8B24siyC5XDB48mClTppCSkuKnaoWoWzweD//4xz/45ptvsFpY6H4a7AE6uRfs39shD6677jpuu+027PZAnVwcI+EbCd/BsGvXLl555RU2btwIkXG4m/XGaNwOVACnF2iNvegAkYfXQ2URndLS+MMdd9CrV6/A1SBEiMnMzOS5Z//J9h0ZdEw0mdSpgpZx5hk/jmHB1wci+HJ/DNgc3DTpZsaPH4/L5YcrWkLUEUVFRfzpz38iY0cGVrqF7qwh0GM+FqjNCts+GwMGDuCRvz5CTExMgIuo3yR8I+E7kLZv387MmTP57rvvUM4oqpv1wEjuDLYgfvLWFo78vURmb0K7y+nZsxcTJ/6Wvn37yki4qBe01qxfv56PP/6INWvWEueC69tXMLipB9s5PgUKqmzM2BPFhnwXDRskMu7Kq7j88stJTEysneKFqCMyMzOZ+sepFBwtwOhrQIvg1qMyFbbNNlq1asXTf3+aZs38f9VZ+Ej4RsK3v2mtWbduHe/NmMHWLVtQzkjcyV3wpnT1T1/32bIMHHk7iczbjnZX0KFjR26cOJEhQ4Zgs8mCPyL8uN1uvv32Wz75+CN++HE/8REwKrWKi1qceZvJqWw/6mBuViTbCp24nE4uHj2aa665htatW9fqeYQIRUuXLuXJp57Ea/diDDKgQbArqpEHjjUOYlwxPPnEk/Tu3TvYFdULEr6R8O0vpmmyYsUK3psxg8y9e1ERMVQ36YqRnAZ2f88sOQeWiaNgLxG526CqhOYtWjDxt79l1KhROJ0hXLcQpyk3N5evv/6aL//9OUUlpbSIsxjdooqBTTy4/HwR6nC5jfkHI1mZG4nX1PTv148rr7qK/v37y8RnEXYsy+Ldd9/l7bffhkZgDjT9t6LJ2SoDx3cOVIXi3nvu5Yorrgh2RWFPwjcSvmub2+1m/vz5fDBrFjnZ2RCVgDulO0bj9sFtLzlT2sJ+9EcicraiKgpp2KgR1117LZdddpn0x4k6p6ysjKVLl7Lgm2/YsnUrAD0bexndspr0BgaB7rAq9SgWH4rg28NRFLshIT6OkaMu5KKLLqJz587S8iXqPLfbzVNPPcXSpUuxWlnoPgGcWHmmvGBbY0PlKK644gqmTJkiH4b9SMI3Er5rS0lJCV988QWffPIppaUl6Ngk3CndMBu2DuxEytqmNfaSQ7hytmErzSYqKporrrica665hsaNGwe7OiF+kcfjYfXq1SxYsIDvv1uF1zBpGqMZnFLNwBQPyVFWsEvEsGBroZNVuS425rvwWpDarCkXXTyaiy66SLbEFnVScXExf/zTH30TK7tb6I5BmFh5pjSobQrbbhsDBw3k0UceJSoq1Ibpw4OEbyR8n6ucnBw++ugj5sydi8ftxkxsgadpd6y4FAI+nOZntvJ8nDlbcRTtx26zcdFFF3H99ddL36oIGYZhsHnzZpYsWcLSJYspK68gIQIGJldzflMPrePMkH1aVhqw7oiLVbkR7DzqQAPpXbowctQohg4dSlJSUrBLFOKUDh8+zAP/8wA5uTkY/YI/sfJMHZuI2bFjR555+hkaNmwY7JLCjoRvJHyfrcOHDzNjxgzmf/MNltZ4G7bD27Q7OjpUZpL4j6ouxZm7HVfBHrRlMnzYMG688UbatWsX7NJEPWQYBlu2bGHx4sUsX7aUktIyIhyKPo2rGdzUQ3oDA3sdu/hUWK34PtfFd3mRHCizoRR07dqV4cNHMGzYMLnqJELSvn37uOfeeyirLvNNrKyrv6bZvomYyY2TefFfL8o6/bVMwjcSvs/UwYMHmTFjBgsWLECj8CR1wtu0BzqiHvZBe6tx5m4j4shOtOHhgguGMmnSTbRv3z7YlYkwdyxwL1myhOXLllJcUkqEQ9GrkZvzmnjo0cjr98mTgZJdYWNtnos1+REcLLOhlKJr13RGjBjJ0KFDJYiLkHDgwAHuvOtOSj2lGBcYEBfsis7RUXCscNCkUROmT5suz7NaJOEbCd+nKzs7mzfffJNvv/0WlB1PcppvpNsVHezSgs+oxpm7g4i8HWjDw+DBg7n11ltp27ZtsCsTYURrzZ49e/jmm29YtHABRSWlRNgVvRqHX+D+JdkVNtbkuViTH8mhMoVSih49ujN69CUMGzaM6Gh5PRKBl52dzR/u/ANFFUUYQw2ID3ZFtaTQF8CbN23OtJemyfr8tUTCNxK+T8UwDD788EPefvsdDMvCk9QZb9NuErpPxnD7QviRHSjL4PrrruOmm24iMjIy2JWJOqygoIAFCxYwf97X7M86gMMGvRp5GJjioUdjLxFhHrh/yeGaIL4qL5K8CkWEy8kFQ4dx8cUX06dPH9k2WwREaWkpv7vld+QX5/tGvMMtn+b7AnjbNm155eVXiIiICHZFdZ6EbyR8/5pt27bxzDP/ICtrP0aDVnhaDaqf7SVnyluN6+BanPl7aNIkhQceuJ8BAwYEuypRh1RXV7N8+XK+mT+fDRs2YGlNh0STwSnVnNfEW+ub4NRlWkNmiZ2VORGsPhJBhRcaNWzARRePZvTo0bRp0ybYJYow9uijj7J46WLMYSY0CnY1fpIN9lV2rr32Wu68885gV1PnSfhGwvfJeL1eXnjhBb766iuIjKO65QDMBq2CXVadYyvNISprFVQWM3z4CKZOfUgui4tf5fF4mD17Nu+9+w5FxSUkRcP5TaoY3NRDSnTwlwYMdR4TNhc4WZkTwZZCJ6ZG2sCE3yxatIjHHnsMK91CdwnfnASgNirsP9h54YUX6NmzZ7DLqdMkfCPh+0SGYfDoo4+yfPlyvCld8TTvE9o7UoY6y8SZsxXX4Y10796df/7jH9KGIv6LYRh88803vPPWm+TlF5DWwGBcmyo6NzCwhejSgKGu1KNYdCiCrw9GU21oRo26kJtvvpnmzZsHuzQRBsrKyrj2umspd5ZjDjehjq0odMYMcHzrICk6iVkfzJIdn8/B6YbvkPiVUkpFKqXWKqW2KKV2KKUeO8kxEUqpj5RSmUqpNUqp1oGvtO6yLIu//e1vLF++HHerAXhaDZDgfa5sdrypvahuO4ytW7byl7/8BY/HE+yqRAhZuXIlN02cyNNPP02M5whTe5Xxl95lpDeU4H0u4l2acW2reX5QEWNbVrNs8bf89re/5ZlnnqG0tDTY5Yk6btmyZZSXlWP2qgfBG8ABRjeDI3lHkAHLwAiVXys3MEJr3QPoCYxWSp3YSHsLUKS1bg88Dzwd4BrrtGnTprFw4UI8zftipHQNdjlhxWzcDnebwaxbt46nnnoq2OWIELFt2zYe/stf0CUHubd7OY/1LaFbo8Bv9x7OYp2a6zpU8eygIkY2q2T+13N54onHCecrusL/vv32W1ScgvDf2uI/moJyKRYvXhzsSuqFkAjf2qe85ltnzdeJr56XA+/W3P4UGKmUvI2dDq01s+fMwWjUDm+q9HP5g5HcCW9KV5YsWUJlZWWwyxFBVllZyVNPPkGjKM1f+5bQN9kroduPGkRobkqr4ob2FaxZs5bZs2cHuyRRRxUXF7Np0ybM5mbobxtfm2xgNjNZvmI5hmEEu5qwFxLhG0ApZVdKbQaOAAu11mtOOCQVOAigtTaAEsJ3/nGtOnLkCNVVVZhxTYJdymlzZX2PK+v7YJdxRsw4305h+/fvD24hIuheffVVcnJyua1zGdGOYFdzZmbsjmLG7qhgl3FWRrVw07WhwUsvvkhubm6wyxF1UGlpqe/KSRA20lGbFWpzEBN/PFRVVkn7ZACETPjWWpta655Ac6C/UurE3oiT/Ub+17VFpdRkpdR6pdT6/Px8f5Ra52RlZQFgRSYEuZLTZ6soxFZRGOwyzsixv99jf9+i/iooyMdph8SIureKSVaZnayyurmOtk1B40gTt8dNWVlZsMsRddBPk+bNwJ9bFStUcRDDd82Atywc4H8hE76P0VoXA0uB0SfcdQhoAaCUcgAJwNGT/PxrWuu+Wuu+SUlJfq62bmjevDl2hwPnkV3BLiWsOfN9f7+tWsnSjfXdPffciysympd3xGLWvfxdZ23Id7I0O4LrrrueDh06BLscUQf9FDy9wa0jKAxwOp3YbCEXDcNOSPwNK6WSlFKJNbejgFHAiUnxK+CmmttXA4u1zKo5Lc2aNWPSTTfhOPoj9qMyKusPtrIjOHMzuOKKK+jSpUuwyxFBlpyczP88+BD7Suy8uC2G3MqQeKkNW6YFyw67eH1nLO3bteWWW24JdkmijoqLiyOlaQq27Hr2nNVgz7HTKa1TsCupF0Llt6spsEQptRVYh6/ne45S6nGl1G9qjnkTaKSUygTuB/4YpFrrpBtuuIE2bdsSlbUSW1lesMsJK6ryKFE/LKVx48bcdtttwS5HhIgRI0Zw6623sq0khoe+T+DNndEUVtenGVz+Z2n4PtfJ1DWJvL4zhuZtOvLY40/gcrmCXZqoo5RSXDnuSigAioNdTQDlgi7Tvv934XeyyU49sn//fh586CHy8vLwpPbB26w7qFD5/PVzkRlzAKjucmmQK/kVWuM4sovIA2uIj4/jb//vKbp2lWUcxc8VFhYyc+ZMvvryC7RlMjK1mstaV5MYEZqvvU+ujwXg4b7lpzgyeLSGjQVOPvshmgNlNtq0bsWtv5/M4MGDkUWwxLkqLS1l3JXjcKe40ecF7nlqW+p7P7aGBbhXTYNtuY1ETyKff/a5bLJzDurUJjsiMFq3bs3bb73F8GHDcR1aT+Su+SiPLIt3Vgw3EZmLiNi/ir59evHuO29L8BYn1ahRI+655x7e/2AWF18yloWHo7lnVSLPb4lh3REnXukJP225lTY+2xfJ/d834PktsVjxzfnrX//K2++8y5AhQyR4i1oRHx/PteOvxXbAhjoQ/r9Taq9CHVFMummSBO8AqWOLYIlzFRsby6OPPkK/fn15/v/+D8f2z3CndMfbJB3s8utwSpaFI38XkdmbUaab2+64g2uvvVYmqIhTSklJYerUqdxwww189dVXLFzwDRu2FhPjUgxIrmJIUw/t4k1ZD/wEFV7F6jwnK3Mj2VtsRylFnz69uW30JYwYMQKHQ163RO373e9+x8ZNG9m5cSdGAyMoSw8GRCHYttkYMmQIV14pLSeBIm0n9VhWVhYvvTSNNWtWoyJiqG7WC6NxRwiBIBlybSdaYy/8gcjsDVBVSteu3Zgy5W7S0tKCXZmoowzDYOPGjcyfP58Vy5fh9nhJidEMblLNgBQPKdHBGRIPhbYTjwnbCp2synWxscCFYUHrVi0ZfckYRo0aRXJyctBqE/VHXl4eN//uZirsFRhDDfDzVIKAt51UgmOpg6TYJN5+623i4sL1E0bgnG7biYRvwebNm3nl1VfJ2LEDohKoTu2N2bAtwRyCC5nwrTX2kkNEHFqPqiikTdu23H7bbQwYMEAucYtaU1FRwbJly5g/fx6bN28BoHW8Rf/kas5L9tIkgEE8WOHba8HWQidr85xsLIikytAkJsRz4UUXc/HFF9OhQwd5zomAW7duHQ9NfQgzzsS8wPRrAA9o+K4ExzIHkVYk/3rhX3TqJKuc1AYJ30j4PhNaa7777jteefVVsvbvh+hE3CndMRq1A1vgN9wIevjWFvaj+4nI2YqqKKBJSlMm//5WRo4cKS0mwq/y8vJYtmwZixctImPnTsAXxM+rCeLJfg7igQzfXss3wr02z8mGwkiqvJq42BguGDqM4cOH07t3b2krEUG3evVq/vyXP2PGmhhDDIjwz3kCFr4rwLHcF7yff+55WR63Fkn4RsL32TBNk6VLlzJj5vv8sC/T147SJB0jOQ3sgVu+K2jh2zJw5O8lIm8bVJWSmtqcCRNu4OKLL5aJKCLgcnNzWbp0KUuWLGbnTt/WB23iLQY0qWZgEw8NI2v/9dvf4du0IKPIwapcFxsK/hO4h1wwlOHDh9OnTx8J3CLkrFmzhj/9+U+YMSbGYAOiav8cAQnfZeBY6Qve//f8/9G5c2f/nasekvCNhO9zobVm3bp1zJz5Pps3b0I5I3AnpeFNSQdntN/PH/Dwbbhx5u0k4sgOtKeKTmlp/HbCBAYPHozdXje32hbhJScnxxfEFy9i1+49KCC9ocGgFDf9kj1E1VJe9Uf41hr2l9lZletidV4kxW6IiY5i6LDhDBs2jD59+siHWxHy1q1bx5//8mc8Ng/G+QYk1u7j+z1854PjewdxkXH88x//lDlLfiDhGwnftWXnzp28//4HrFixHJQNT+MOeJt2Q0cm+O2cgQrfyl2BM3c7roJdaMNLv379mDBhAr169ZL+UhGyDh48yMKFC1kwfx7ZuXm47Irejd2c39RNt4YGjnPojKrN8F1QZeO7XBer8iI5XK5w2O0MHDSIiy66iAEDBhAR4afr90L4SWZmJv/z4P9QVFqEcZ7h2yKwlvgzfKsshX29ndTUVP75j3/SrFmzWj+HkPANSPiubQcPHuTDDz9k3vz5GF4vRsM2eJt2x4pNqvVz+Tt8q8qjOHO24Szch035diO8/vrr6dChg1/OJ4Q/aK3ZsWMHCxYsYPGibyktKyc+AoY3rWJUCzcNzmIjn3MN35aGLQVO5h+MZMdR33B8t25dueiiixk+fDjx8fFn9bhChIr8/HwemvoQ+/btw+phodtrqIWxGr+Ebw1qh8K200bPXj156smnZFUTP5LwjYRvfyksLOSzzz7js8//TVVlBVZ8UzxNe2AmpNbaCin+Ct+2sjxc2ZuxFx/EFRHBZZdeyvjx42natBaHL4QIAq/Xy9q1a5k7Zw6rvvsOm9IMTHYzuqWb1vHmaT/O2YbvahNWZEew4FAUORWKpMaN+M3lV3DhhRfKKJsIO5WVlTz+xON8t+o7rDYWurc+520Laz18G2Bba0MdVowZM4YHHnhA2rv8TMI3Er79rbKyktmzZzPrw484WliAFdcEd2ovrPhzD+G1Hb5tZUdwHd6AveQwcfHxXHP11YwbN46EBP+1zggRLIcPH+bTTz/l67lzqKp207mBweiW1fRq7MV2iqfmmYbvo9WKhYciWJwdTYVHk9apI9dedz1Dhw6ViZMirFmWxZtvvsmMGTMgCcyB5jmthFKr4bsCHN85oATuuusurr76ammlDAAJ30j4DhSPx8O8efN45913KSwowIpLwZ3aGyu+6VmH8NoK37byI7gObcRecoi4+Hh+O2ECV1xxBVFRfpiqLkSIKSsrY86cOXz+6Sfk5RfQNt5iUlo5bX9lJPx0w7fHhNn7I5mTFYWpFUMuGML48dfStWtXeZMX9cq3337L3/72NwyX4ZuIeZZjOrUWvgt8Eyuj7FE8/tjj9O/f/9weT5w2Cd9I+A40j8fD3Llzeefd9yg6WogV3xR3i35YsWe+G925hm9VWUTEwbXYiw8SGxfPhBuuZ9y4cURH+3+lFiFCjWEYLFq0iJenT6OoqJiRzau5pl01Mc7/fv0/nfC9pcDBe3tiyatUjBgxgsmTJ0triajXdu3axdQ/TaW4tPisJ2LWRvhWWQr7BjvNmjbjmaefoUWLFmf9WOLMSfhGwnewuN1u5syZw7vvvUdxUTHepI54WvQDZ+RpP8ZZh2/Tg+vQJpx5O4iOjmLCDTdw1VVXSegWAigvL+fNN9/k359/TqxLM6F9Bec39fzsmF8L30VuxXu7o1l3xEWL1FTue+AB+vY95fuMEPXCkSNHeGjqQ/zwww++iZgdzixfnVP4PmFi5ZNPPCmTm4PgdMO3bNUnal1ERARXXXUVsz74gGuvHU9E4V5it32CI28naD+tX6o19oJ9xG77DGfuNsaOuYQPZ81i4sSJEryFqBEbG8s999zDa6+/TmrbNF7eEcMnmZGczhhMbqWNx9YnsqUohltvvZW3331XgrcQx0lOTmb6tOkMGjQI22YbarOCQIxvWqDW+oL32LFjefafz0rwDnESvoXfxMTEcOedd/L222/TPb0zEftXEZ0xG1VVXKvnUe4KonbPI3LfEtq3TOWVV15h6tSpJCbW8g4IQoSJjh07Mn36y4wdO5Yv90fx7u4orF8JCVlldh7fkIDXGce06dO58cYbcbkCt+OtEHVFdHQ0Tz35FFdffTW2vTbUegX+3C3eBNt3NmwHbEyePJmHHnpIVjSpA2QquvC7Nm3a8K8XXmDx4sU89/zz2DK+pKr1EMxGbc/5sW0lh4jetwyXXXPXAw9w6aWXyo6UQpwGu93OQw89RHx8PLNmzaLaUNyWXvlfx/1QaufvmxKISWjIc8//H61atQpCtULUHXa7nbvvvpv4+HjeeusttFdjnWdBbb81ecG+yo4qUNz/wP1cfvnltXwC4S8SvkVAKKUYOXIk3bp1469//SsZGYvxlufhadEfbGfxiqQ1zsObcB3eRMtWrXjqqSdp2bJl7RcuRBhTSnHHHXcQGRnJ22+/TXpD42f3e0x4eUcccYmNeHHadFJSUoJUqRB1i1KKSZMmERMTw4svvoj9Ozvm+Wbt9Rt4wb7Cjq3YxsP/+zCjRo2qpQcWgSBtJyKgkpOTefHFF7nmmmtw5u4gavc8MD2n/sHjWSaRe7/FdXgjF144itdee1WCtxDn4KabbqJrehc+yIzF1P9ZJvCr/ZHkVCgenPpHCd5CnIVrrrmGBx98EHJBraulHnAL7N/bsRXZeOLxJyR410ESvkXAOZ1O7r77bh555BEc5UeI2rMQLOPUPwigLSL2LcFelMWUKVN4+OGHZc1uIc6RzWbjwYemUmXaOFLle1vIq7QxOyuKCy+8UNYJFuIcXHbZZdx6663YDthQW89xDXztm1zMC9DBAAAgAElEQVRJHjz00EMMGTKkdooUASXhWwTNyJEjefjhh7GV5RK5dxFYp9gCW2tcP6zAcXS/7NglRC1r06YNY8aOpdRjwwJW5rjQWnH77bcHuzQh6ryJEycybtw4bHtsqMyzf99SOxS2g77JlWPGjKnFCkUgSfgWQTVq1Cge/J//wV58ENf+Vb96rPPQBpwFe7nlllsYP358gCoUov4YNWoUGij32Fh9JJKePXuSlJQU7LKEqPOUUkyZMoXzBpyHfasdSs7iQY6AbaeNMWPGMGHChFqvUQSOhG8RdJdddhkTJkzAmb8He/Ghkx5jqyjAlbOF0aNHc+ONNwa4QiHqh+7du+NwOCiotpFToRg+YkSwSxIibNjtdv70xz8RFxuHY60DTnGx92c84FjvoFlqM+655x656lvHSfgWIWHSpEmkNm9OZNYqML0/v1NbRP64koSERO6++2550RHCT2w2GzExMXgs33OsW7duQa5IiPDSsGFD/vynP6OLNSrj9N/L1BaFqlI88tdHZJ5TGJDwLUJCREQEf5w6FarLcOZs+9l9jvw9qIoCHrj/PuLi4oJUoRD1Q2Rk5E+3W7RoEcRKhAhPgwYNYuTIkdgz7VB9Gj9QBrYsG+PHj6dz585+r0/4n4RvETJ69OjBeecNIKJg93/+UGtcR3bStl17hg4dGrzihKgnjg/fslOeEP4xadIkMEHtOfXot8pQuFwurr/+ev8XJgJCwrcIKb/5zWVodwXKcANgq8hHVRQy7orLpd1EiABwOGTvNSH8rVWrVowYMQL7Pjv82lYXFWA7aGPcFeNo0KBBwOoT/iXhW4SUgQMHktigAcpbBYCjIBOnyyWbCAgRIHZ7be+BLYQ4mXHjxqENDUd++RiV7duYZ9y4cYErTPidhG8RUhwOB3379EHV7HrpqDhCeno6MTExQa5MiPpBwrcQgdGlSxeioqNQub98VVflKpqlNqNZs2YBrEz4m4RvEXK6dOkC2gLLRFUcpWt6erBLEqLesNnkbUGIQPANNvXFfuQXPvBaYCuwMeC8AYEtTPhdSLzKKqVaKKWWKKV2KqV2KKXuOckxw5RSJUqpzTVffw1GrcL/OnXqBOBrPdEWHTt2DHJFQtQfMrdCiMBp3bo1ulKDPsmdHtCGpnXr1oEuS/hZqMysMYAHtNYblVJxwAal1EKtdcYJx63QWl8ahPpEAP00qaRmu3mZZCJE4Ej4FiJwoqOjfcH7ZBvueI87RoSVkBj51lrnaK031twuA3YCqcGtSgRLfHw8AMoyAEhISAhmOULUKxK+hQicn4K1cZI7a/5MNtUJPyERvo+nlGoN9ALWnOTugUqpLUqpeUopaQQOUxEREb4b2gLA5XIFsRohhBDCP/Lz831J7GRL6kccd4wIK6HSdgKAUioW+Ay4V2tdesLdG4FWWutypdQY4Augw0keYzIwGaBly5Z+rlj4Q0VFhe+GzQ6m+Z/vhRBCiDCSmZmJilNwsjmXUWCLsLFv376A1yX8K2RGvpVSTnzB+32t9ecn3q+1LtVal9fc/hpwKqUan+S417TWfbXWfZOSkvxet6h95eXlAGib79VIwrcQgaP1yWZ+CSFqm2VZ7Nq9CzPhZA3fgAIzwWTnzp2BLUz4XUiEb+VrMnwT2Km1fu4XjkmpOQ6lVH98tRcGrkoRKNnZ2b4bdufPvxdCCCHCxOrVqykuKoamv3yMbqrJzMxk9+7dgStM+F1IhG/gfGAiMOK4pQTHKKVuV0rdXnPM1cB2pdQW4F/AdVqGaMJSRoZvkRvtiEI5In76Xgjhf5ZlBbsEIeqFjz76CBWt0M1/OcroNhrlVHz88ccBrEz4W0j0fGutVwK/OsVea/0S8FJgKhLBlJGRATYHKIUR05ht27cHuyQh6g0J30L43/bt29m0aRNWN+vXh0GdYLYyWbR4EZMmTaJFixYBq1H4T6iMfAsBQGFhIRs2bMCy+1Y4MeNT+fGHH/jxxx+DXJkQ9YOEbyH8q6KigsefeBwVo9DtTn0BX6dptEPz2OOP4fV6A1Ch8DcJ3yKkzJ07F9M00a4YALxJHVE2O1988UWQKxOifpA3dyH867nnniM3Nxejv3HyJQZPFAVGb4M9u/fwxhtv+L0+4X8SvkXIqKqq4vN/f4GZkOpbZhDAGYmnYRu+njeP4uLi4BYoRD1gGCfb7UMIURs+/fRTFi5ciNXFgv9ar+1XNAerrcWsWbNYvHix3+oTgSHhW4SM6dOnc7SwEE+znj/7c2/THng8Xp555hlZBk0IP6uurj7pbSHEufnwww/517/+hW6m0Z3P/L1M99DQGB577DEWLFjghwpFoEj4FiFh9erVfPnll3hTumLF/3zdJR3dgOrmfVi5ciXz588PUoVC1A+VlZU/3d67d28QKxEifLz33ntMnz4dq7mFNdA6xRITv8AB5hATnaR56qmnmDt3bq3XKQJDwrcIuv379/PkU/8PYhriadHnpMcYNaH8ueefZ9u2bQGuUIj6wePxUFlZSazDN+lSnmtCnBuPx8Pzzz/PG2+8gdXSQp+nzy15OcAcbKKbaJ5++mneeecdTPMXNukRIUvCtwiqXbt28Yc776Ks2ktluxG+JQZPRtmobjsMt4rgvvvvZ/369QGtU4j6YMmSJViWRYNIiw6JJrO/+lJWPxHiLB08eJDb77idf//731gdLXT/cwzex9jBHGRitbJ46623uO/++ygoKKiFBxaBIuFbBM3mzZuZcs89lHuhIm0sOirxV4/XETFUdB6LxxHLgw89xPLlywNUqRDhT2vNJ598jMumiXFoLm5exeHsHNasWRPs0oSocxYuXMjvbvkd+w7swzzf9PVrn02ryS+xg+6nsfpZbNm2hUk3T5Lnah0i4VsEnGEYzJgxg/vuv59qFUll57HoyPjT+2FnNBVpYzCiGvK///u/TJ8+Hbfb7d+ChagH5s6dy549e2kY4Rvp7pvspWEkTJ/2EhUVFUGuToi6oaCggEcffZQnnngCd6wbY5QBzfx0MgW6tcYYaVCmynjwwQd59tlnKS0t9dMJRW2R8C0CKjMzk99Pnszrr7+OO76Fb8S7Zk3v0+aIoLLTJXiSOvHhhx9y06RJbN261T8FC1EPbNmyheeefZbujQwSa8K3wwa3dynj0MGDPP7YY9JXKsSvMAyDjz76iOtvuJ4ly5ZgpVuYQ02IDsDJ48EYYWB1sPjyqy+5/obrmTt3rrSMhTAJ3yIg3G43b731Frf+/vf8cCCb6g4jcXcYCc7Is3tAuxNPm8FUpV1CdmEpd919Ny+88MLPVmoQQpxaVlYWD//lzyRFGtzZtfxn93VpaDCxUwXfr17NtGnTJIALcRKbN2/m5t/dzLRp06huUI1xkYHuUkv93afLDrqnxhxlUuYq4+mnn+aOO+5g9+7dASxCnK5fmN0mRO1wu9189dVXzJz5PkVFR/E2bo+n5YCzD90nsBJSqeh6Ja6D6/jss8/45psFXHfdtVx55ZXExsbWyjmECEdaa7788kumvfQiLrzc16eUGOd/rz08qrmHw+V2Pv30UzL37uHPf3mYlJSUIFQsRGjZv38/b7z5BsuXLUfFKszzTWhK7fZ2n6lEMIeZqAOKXVt3MXnyZEaPHs3NN98sz9sQosJ505K+fftqWRUjOKqqqvjyyy95/4NZlBQXYcU3xZ3aCyv+9JrfIjPmAFDd5dLTPqetPB/X4U3Yiw8QHRPDtePHc/XVVxMXF3dW/w9ChKvCwkKefvrvrF69hm6NDCZ3KadBhO+94Mn1vg+tD/f9zyi41rA8x8WMPbHYXJHcf/8DXHjhhSgVzJQhRHBkZ2fz1ltvsXDhQt/Sfx1MdCd9zsOZtqW+oXJrWC21i3hA7VTY99mxYeM3v/kNEydOpHHjM9laU5wJpdQGrXXfUx4n4VvUppKSEmbPns2sDz+krLQUMyEVT7Oe/7VxzqmcTfg+xlZRgPPwJhxFWURFRXP11Vcxbtw4ecER9V55eTlz5szh/ZkzqKwo5/p2FYxq4cZ2XIY+Wfg+5kiljVcyYtlTbGfQoEFMmDCBrl27SggX9cKRI0d49913mfv1XDQas52JTtMQUTuPX+vh+5hKXwi37bfhtDu56qqruOGGG0hM/PUVxsSZk/CNhO9A0VqzadMmZs+ezdJlyzANAzOxOZ5mvbDimpzVY55L+D5GVRbiOrwZx9H92GyKQYMGcdlll9G/f3/sdvtZP64Qdc3hw4f59NNP+XruHKqq3XRuYDCpUwWpsf/9Jv9r4RvA0jA3K4I5WdFUeKFzWifGX3sdQ4cOxeGQTkYRfnJycpg1axZz5s7BNE3MNqZve/io2j2P38L3MeWgMhS2LBsRkRFcOe5Kxo8fT6NGjfxzvnpIwjcSvv2tqKiIefPm8dXs2WQfPoxyRuBp2A5vcid09Lk9mWsjfB+jqktwHNlNRGEm2lNJ48ZJXHbZpYwZM4YmTc7uw4EQoU5rzZYtW/j4449ZtWoVNjQDmrgZ3dJNm/hfnjh5qvB9TLUJK7Ij+OZQFLkViqTGjbjq6mu47LLLpNVLhIX9+/fz/vvvs3DhQt9Id6ua0H2GC3SdLr+H72NKa0L4IRsOh4NLx17K9ddfT9OmZ3aFWvw3Cd9I+PYHr9fLunXrmDdvHitWrsQyTay4FLxJnTAatfnlHSrPUG2G759YJvbiAziP7MJechilFP37n8eYMZcwcOBAIiNrZxKoEMFimiY7duxgxYoVrFyxnMPZOcS6YESzKi5s4f6pr/vXnG74PsbSsLnAyfwDkWQUOXA5nfTp25chQ4YwaNAgGjZseE7/T0IE2q5du5g5cyYrVqzw7SbZxkR31H5fNjBg4fuYMlC7FfYsOwrFhRdeyIQJE2jdunVgzh+GJHwj4bu2GIbB5s2bWbRoEUuWLqWyogLljMTTqL1vlDuqQa2f0y/h+ziqugxH/m4iCvei3RVEREZywZAhjBw5kn79+uF0Ov1yXiFqW3V1NevXr2flypV8t2olxSWl2G3QpYGX/skeBqV4iDiDLqszDd/HyyqzsyzbxcaCSAqqQClFepfODB5yAUOGDKFFixZn/JhCBILWmo0bNzLz/ZlsWL8B5VK+nu4OtdfTfSoBD9/HVILao7D/aAcTBg8ezIQJE+jSpUtg6wgDEr6R8H0uLMti+/btLFq0iEWLl1BaUoxyOPEktsJs1A4zvhnY/Nc37e/w/RNtYSvNxVG4D1fxfrTXTXRMDMOHDWPkyJH07NlT+lhFyMnPz2f9+vWsWLGcdWvX4vZ4iXYqejR00yfJQ/fGXqLP8tf2XML3MVrDgXI7G/KdbCyIYH+pL1S0bNGcwUMu4PzzzyctLU0+5IqgM02TFStWMPP9mezZvQcVpTDbm+h2GgL86xm08H2MG9Rehf0HO9qt6dGzBxN/O5F+/frJpOrTJOEbCd9nyrIsMjIyWLp0KYsXL6GgIB9lc+BNbIHRqC1mYotaays5lYCF7+NZJvbSbOyF+3AVH0AbHuITEhkxfBjDhg2je/fuEsRFwGmtycnJYcuWLWzZsoXNmzaSnZMLQMMo6NOomt5JXjo3MHDUwqYetRG+T1RQZWNjvpMNBS52FTkwNUS4nKSnd6VHz5706NGDLl26SOuXCBiPx8M333zD+x+8T/bhbFScwuxooltpCNJ8/KCH72MMUD8o7Hvt6EpN23ZtmfjbiTKp+jRI+EbC9+kwTZNt27axbNkylixdytHCQrDZMONT8TZqh9mgJdhdAa8rKOH7eJaBvfggjsIfcJYcRJsGcfHxDBs6lKFDh9K7d295ERJ+obUmKyvrZ2G7oPAoAHEuRccEN2mJBp0bGLSKM6ntASl/hO/jVXgVO4462F3sYHeJi6xSGxpw2O2kpXWiR89e9OjRg65du8pGWaLW/bTx2/szKTpahGqoMDoZkEpwN8chhML3MRaoLIV9jx1dqklpmsJNN97ExRdfLO9/v0DCNxK+f8mxHm5f4F7maymxOfAmpGI0bIOZ2BIcgQ/cxwt6+D6e6cVecgjH0R99QdzwEhMTywUXDGHo0KH07dsXlyu4f1+i7nK73ezZs4eMjAy2bt3K1i2bKSktAyAxEtISPKQ18JKWaNAsxvrZmtz+4O/wfaIKr2JviZ1dRU52lzj5ocSOqcGmFO3bt6N7j56kp6fTpUsXUlJS5PK3OCvV1dV8+eWXzHx/JiXFJZAEZmcTkgl66D4m5ML3MRrIBscuB/qopklKk59CuLSO/ZyEbyR8H880zZ8mTS5dtozysjKU3Yk3oXlN4G4B9tB5EoVU+D6eZWAvOYz96P6a1hQ3UVHRDB58PqNGjaJv377yYiR+kWVZHDx4kIyMDHbu3EnGju3s++EHTNP3ZpsUDWkJbtIaGKQlGiRHWbU+sn0qgQ7fJ6o2YV+Jg11FDnYVO8ksdeCtWRmxQWICnbv4gnh6ejppaWnExPhp3TcRFqqqqvjiiy/4YNYHvtCdDGYXE5KCXdl/C9nwfYwGcsGeYYejkJScxI0Tb2TMmDHyvldDwjcSvi3LYseOHTWTJhdTUuybNOlNaFkTuJsHrIf7TIVs+D7esR7xoz/iKs5Ce93ExMb+bLKmbOZTvxUXF5ORkfHT186MHVRUVgEQ5VC0iffSLt5L+3iTdgkGiaexFKC/BTt8n8iwfJM395U42FdiZ19ZBDkVvvuUUrRq0ZwuXbvRuXNnunTpQps2beSSuMA0TebNm8err73qC91NakJ3CG90HPLh+5hjIXynHQp9IfyuO+9i2LBh9f7KlIRv6mf41lqzZ88eFi9ezMJvF1GQf6SmpaQ5RuN2AZ00eS7qRPg+nmViLzlc0yOehTa8JCQmMmrkSEaMGEF6ejo2Wy3MhhMhyzAMMjMz2bFjh+9r21Zy8o4AoBS0iLVqgrZBu4TAtJCcjVAL3ydT7lX8UOoL5JklDn4oc1Hm8b2XRUa46NipE+npXUlPTyc9PV128Ktntm3bxvP/9zyZezOhMZjdQjt0H1NnwvcxGsgDxzYHuti3Osq999xLu3btgl1Z0Ej4pn6F77KyMubPn8+/v/iCQwcPgrJhJqTibdQWM7FV0Hu4z1SdC9/HO36yZvFBtGWQlJzMuCuu4NJLLyUxMTHYFYpaUFhY+FPQ3r59G7t37cbj9QLQIBLax3lol2DQLsGkTZxBZOh/5gXqRvg+kdZwpMrGvlI7mSUO9pU62V9mp6abh5QmyXTt1v2nMN6+fXsZHQ9D+fn5vPLKKyxcuBAVrTC7megWOmR6uk+lzoXvY3TN6ig77OCByy+/nFtuuYWEhIRgVxZwEr6pH+F73759fP7553yzYAEetxsrLhlv444YDVuDo+4u21Wnw/fxTA/2ogM48/f4WlQcDkYMH86VV15Jly5d6v0lurrCMAz27t3Ljh07yMjIYPu2reTWjGrbbdA6zqR9vJcOCQbtEw0aReiA92rXlroYvk/GY8L+Ml8Y31viILPURVG17z6X00mntE507dpNRsfDxKJFi/j703/H4/X4lgxM01DHPl/V2fB9jAfUdoXtBxuxsbE8+sij9O/fP9hVBZSEb8I3fHu9XpYvX85nn33O9u3bUDYHnkZtMZp0wYqpA9fWTkPYhO/jqKoinHk7cRVmog0P7Tt04Korr2TkyJGyvnEIys7OZvXq1axZs4ZNGzdQ7fYANaPa8R5f0E4waB1n4gqj1v5wCd8n0hoK3YrM4mNh/Oej4y2apzJg4CDOO+88evToQUREgLY1FOfENE1ee+01Zs2a5Wsx6WdCHV2hss6H72OKwbHWAaVw++23c91119WbgSYJ34Rn+F6/fj1PP/0MeXm5EBmPOzkNI6ljnR7lPplwDN8/MT04CjKJOLITKotISGzAA/ffx7Bhw4JdWb3mdrvZvHkzq1evZu3q7zl4OBvwrUDSo2E1aQ0MOiQYNKzDo9qnI1zD98kcGx3fW+Jg+1Enu4qceC3fBkC9evfhvPPOY8CAAaSmpga7VHESpaWlPPLoI2xYvwGrnYXuqaEOT60Jm/ANYIBtnQ11SDFy5EimTp1aLwaZJHwTXuG7rKyMadOm8fXXX0NUItUt+vsmT4ZpCgjr8H2M1tjKcog8sBZVUcCQCy7gvnvvpXHj8Lh6URccOXKE5cuX14xub8Tj9eK0Q+dELz0aeeneyEtKdOCX+wum+hS+T1Rtwq4iB1sKnGw9Gklepe/PU5s1ZcDAQQwYMIB+/frJ5OkQUFVVxS233sLh7MOYPU1027qfZcIqfIOvF3yXwrbdRnrXdF568aWwXwHsdMN3SHREKaVaAO8BKYAFvKa1fuGEYxTwAjAGqAQmaa03BrrWYFi+fDn/fPZZiouL8TTrgTe1V51YsUScglJY8c2oTP8NzpxtrFy5ig0bNjDl7ru55JJL6s1lumAoLy9n5syZfPLJx3i9BikxmmEpbno08m3THk5tJOL0RdqhZ2ODno0NoIrcShtbC5xsKTzA7C9y+eyzz+jQvh133nU3vXv3Dna59dqbb77JoYOHMIeYvuQgQo8C3VljRVnsWLeDTz/9lGuvvTbYVYWEUElwBvCA1nqjUioO2KCUWqi1zjjumEuADjVf5wEv1/w3rK1evZqHH34YHdOI6vTLw6anWxxH2fA264HRoDXm/hX8/e9/x7IsLr00jEf9g8QwDObMmcObb7xOSWkZQ5q6ubxNNSnRYTLSJGpVSrRFSks3F7V04zFh7REXn/6wj3vvvZfB55/PHX/4Ay1atAh2mfVORkYGn3zyCVZbS4J3HaBbafQhzWuvv8aQIUNo1qxZsEsKupC4dqa1zjk2iq21LgN2Aic22V0OvKd9VgOJSqmmAS414N57bwZExlHZ5Tf1Jni7sr7HVpGPrfwIkds+x5X1fbBLCggdlUBV2lh0bBIzZs7ENM1glxRWMjIyuHnSTTz33HM0tRfxRP9SbkuvlOB9nBm7o8gqs5NVZufJ9bHM2B0V7JJChssOg5t6eGZAEePbV7JhzXfceONEXnrpJQzDCHZ59cqLL70IUaC71/1Wk2PUZgVHgUKwLbT5vg8XCqzeFoY2eOWVV4JdTUgIifB9PKVUa6AXsOaEu1KBg8d9f4j/DuhhZdu2bWzfvg13k65gqz/XwW2lOURHuLjmqiuJ1VXYSnOCXVLgKIU7pRs52dmsWLEi2NWEldmzZ5N14CB3dyvnL73LaBMvH25OlFVmp8q0UWXa2FXsJKus/rzunC6XHX7T2s0/BxbRIc7Nxx9/zNGjR4NdVr1SUFCA2diEMNrRXOUrol3RXHPlNUS7o1H5YRS+AaLBamBRWFgY7EpCQkiFb6VULPAZcK/WuvTEu0/yI//1sVcpNVkptV4ptT4/P98fZQbMxo2+lnYzvn5dV1OGh7FjxzJlyhTGjh2LMjzBLimgrLgUQP307y9qxwUXXACAXYXtPGURQAkRmkrTTue0TiQnJwe7nHrF6XT6ZoeFEy8/e9/DG+yC/MCq+bcTIdPzjVLKiS94v6+1/vwkhxwCjm+uaw5kn3iQ1vo14DXwrXbih1ID5pJLLuGDWR9i7f+Oqs5jQYXUZyW/0Q4Xc+fOBWDu3LloRz269K01rv2rsDvsXHHFFcGuJqz069ePBokJfLXfoEGERdt4U0K4OCuVBiw9HMGBMhv3jr4k2OXUOy6nC1Wq0Lru7F55Sk5+9r5HuC0zr0G5lYTvGiGR5mpWMnkT2Km1fu4XDvsKuFH5DABKtNZh3Y+QnJzMA/ffh60sD+fhzb5dIuoDu4uqqio+/fRTqqqqwO4KdkUB48jfjaMoi8m//z1t27YNdjlhxeFwMPm228l2x/DIunj+d10CSw67qJbuE3GassrsvLkzmrtXNuSDvdGkd+nMRRddFOyy6p1Ro0ahChTqYLgkb8DJz9/3wiyjqj0Kynz/diJ0Rr7PByYC25RSm2v+7M9ASwCt9SvA1/iWGczEt9TgzUGoM+AuvPBCVq36jiVLFuMoy6W61XnoaNkGOdyo6lJcB9bgKMqiR4+ejB8/PtglhaWxY8cybNgwFixYwL8//4w3dx5gVmYsg1OqGNncTWpMuF3LFufq2Coniw5HsrfYjsvpZMSokYwbN47OnTsHu7x66brrrmPlypXs3LQTo7EB0cGuSPyqErBvtzN4yGD5sFpDNtmpAwzDYPbs2bz++huUV5TjTeqEp3lfcIbnblGRGXOwl+X+9L0ZlxK+m+2YHpyHNxORtwOX08lNN93INddcI1tbB4DWmq1bt/LFF1+wbOlSDNOkeaxFlwYeujQw6NzAIMYZvq+PJ/Pk+lh2Ff9nyC0t0VvvNtuxNBwst5Nx1EFGkYNdJRFUeTUtUlO5fNw4Ro8eTXx8fLDLrPcOHTrEzTffjDvGjTnIhDrenWhbavvZJEudpMNjs50ycKxyEGePY+Z7M0lMTAx2RX5VpzbZEb/O4XAwbtw4Ro4cydtvv82///1vXEU/4k7pjjepU9iG8LBm+LaYj8zZjPZUcvHo0UyePFl2twwgpRQ9evSgR48eFE2Zwvz581m7di3Ltm1lwUEvCmgVb5GW6AvjaQ28RMsrZtjRGg5V2Nh51PlT2C73+D50pTZryqjRfRk+fDh9+vSRja9CSPPmzXnkkUd47PHH8HzrwTjPAJn3GloOg2Odg9ioWJ564qmwD95nQka+66D9+/fz4osvsm7dOpTNjrdBK7xJaVjxTcNiGYewHfnWGlt5Po78XbiO/og2vXRJT+eeKVPk8nUI8Xg87Ny5k02bNrFx4wZ27NiB12tgU9A6zqJzAw9dGnhpn2CG3ch4fRj5tjRkV9jYWeRkZ03YLnX7/h1TmiT/f/buO77K8v7/+Os6K3uHJCSEkZ0QNoggKkOWiKjo14G4229/raPqt621Wq2r1WpRsbZu61asslFBBVFABGWYQEjCSFghgezkjPu+r98fJyAoQsZZSa7n43EemJOTcz4Bc+53Pvd1f1dkOyAAACAASURBVC6GDhvOkCFDGDx4MImJiX6uVjmd3bt3c/ef7mbv3r0YAwxkVue8CLNLdb4NEN8LTEUmsnOyeejBh7rNz1JrO98qfHdiO3fuZNGiRSz76COaGhshJApnfBauHplg7byL4Lpc+NYcWKpKCKoqgsYjBAUFM3HieUyfPp2cnBzVTQtwDoeDgoKCY2F8W+E2tJYNkJLDJekRTtKjNNIjdVLDdSwBcRl7+3TF8F3rEJTUWSitNVNaZ2VnvZVml/u41yM+7ljYHjJkCD17dvl927qkpqYm/vrXv7Jq1SpIBH2QDlH+rqptukz4PgLmTWY4DDNmzOCWW27BZus+QxNU+Kbrh++jHA4Hq1atYsGChWzdugWECS26N1pcOnp0Kpg717nyLhG+DR1z7T4sh3dird6NNDSysrK58MLpnHfeeYSGdt5fjro7u91OQUEBBQUFFBYWUvj9Vmrq6gGwmQV9I1xkRGruQB6lERckO80Jqc4evp067K43U1probTOQmm9jcom9+dMJhPpaf3I659PXl4eAwYMICUlRf3y20VIKZk/fz7PPf8cTU1NGOkGMk92mpF9nT58N4PYKjDtMREdE82tt9zaLSebqDXf3UhQUBCTJk1i0qRJ7N69m8WLF/PRx59QV/IpwmzFFZ2KFpuGHt0LTOqf3GsMA3PdPsyHd2KrLUO6HISGhTFx+jQuuOACsrOz/V2h4gHBwcEMGzaMYcOGAe6D/oEDB9i2bZs7jBcUsLx4B0vL3FuORwdzrDueEamTFqkRrH4MO0xKqGg2UVJ7tKttY0+9Cb2ln5TQI57+Z7iDdl5eHllZWQQHq+tjuiohBBdffDHjxo3j5ZdfZsGCBVAOeq6OTJcBMli5C9JBFAnMRWbMwswVV1/B1VdfrRpMp6E6312Upmls3ryZzz//nM9XrqS+rg5hseKK6o0Wl4Ye1Stgt6zvVJ1vaWCu3Y/5yE5sNWVIl52QkFDOOedsxo8fz/Dhw9WmAt2Qy+WitLTUHcYLCyks2Mrefe5tCYSA3hEGGREu0qM0MqM0kkKNgOiOB3Lnu1nD3c2utVBSa6akPoj6lrXaIcFB5OTmkpfXn7y8PHJzc9XFy93czp07eXru03y78VtEhEDP0ZG9AzeEd7rOtw5ilzt0yybJOeeew6//369JTk72d2V+pZad0L3D9/E0TeO7775rCeKraGyoR1hs7iAe2w89OiWgOuIBH74NA3PdfsxHdrk73M5mgkNCOHvMGMaPH8+IESO61Ro3pXVqa2vZtm3bD0tWCgpoam4GINwmSI9wktESxtOiNL9MVgmU8G1IONhkorjWQkmthZI6K3vrTRw9WvXpnUr//AH07+8O23379sVsDsxmguI/UkrWrFnDCy++wM7Sne4Qnq0j+wReCO804VsHsbMldDdL+uf355e/+CVDhgzxd2UBwePhWwiRBxyWUlYIIcKB3wE68LiUsqlD1XqJCt8/pWka3377LZ999hmrvljdEsStuKJS3UE8qheY/dupDcjw3bKG+1jgdjkICg5mzFlnMX78eM444ww1m1tpE8Mw2LNnz7EwXvD9VvaUlSOlRAAp4ZLsKCd5sS7yYjQibN5vlPgrfBvSvVbbPVvbSmmdjcaWiyLDw0LJy+tP//x8+vfvT25uLhEREV6vSek6pJR89dVXvPLqKxTvKEaEt4TwvoETwgM+fGsgSgXmYnfoHjR4ENdfdz1DhgxR100cxxvhexNwuZSySAjxbyAbsANVUsrZHarWS1T4PrWjHfGVK1eyatUX1NXVIswWXJG90OL6tVys6fsObsCEb0PDXLMXy5FdWGvLkZqTkNAwzjl7DOeeey4jRoxQgVvxqIaGhmNrx7///nu2btlMU7MdcC9V6R/jDuM50RohXuiM+yp8y5ZxfwXVVgqOWNheE3QsbPfpncrAQYPp378//fv3JzU1FZMpQBKS0qlJKVm3bh2vvPoK27dtR4QK9EwdmSb9fgVcwIZvJ4gSgbnUjLRLhg4bynXXXsfgwYP9XVlA8kb4rpFSRgv3rzgHgf5AM7BLShmQo+1V+G49TdPYsmULK1euZOWqVdRUV7tniEelosW3TE3x0dIUv4bvlosmLVUlWGvKkLqLsPAIzj3nbMaOHcuwYcPUGm7FZzRNo6ioiG+//ZaNGzaw9futx2aOp0fp5EU76R+rkRGlYfPAqgtvhu/KZhMFLbtGFtYEUeP+nYKeiQkMG3EGQ4cOZciQIcTFxXnk9RTl50gp+eabb3jt9dfYsnkLIkigp+nITP9NRwm48N0EYofAvMuM1CRnjjqT2VfPZsCAAf6rqRPwRviuADKAPOCfUsrhQggLcERKGZB77arw3T66rlNQUMDnn3/Oik8/pbamBmGx4YzugxafjhGZDMJ7nSifh28pMTVUYKkqxVa9C+myExYezvhx4xg3bhyDBw/GYgmcNfFK9+VwOPj++++PhfHtRUUYhoHVDIPjnIxKdDI43tXuIO7p8L2/0cTagzbWHQrmQKM7WMRERzFs+AiGDh3K0KFDu/0FWop/FRQU8Oabb/Lll18iLAK9r+7eqCfMt3UETPiuA7FdYCo3YcLEeeedx1VXXUVaWprva+mEvBG+5wBjgAjgGSnlM0KIM4AXpJSDOlStl6jw3XFHl6asWLGCz1euxN7cjLCF4ozthxaXjhHWw+O7avoqfIumw8cCN/Z6rDYbZ48Zw8SJEznjjDNUh1sJeI2NjWzevJmvv/6alZ9/RnVNLcEWwdB4O6OSnAyI1dq06Y8nwndls4m1FVbWVQRTVm9CCMHgwYM4++xzGDZsGH379lVrRJWAs2fPHt5++20+/vhjdEPHSDWQuRJ81Fr0e/g+AqZtJsR+gS3IxvQLpnP55ZeTlJTkuxq6AK9MOxFCTAJcUsrPWz4eDkRKKT9rd6VepMK3ZzkcDtauXcuKFSv4as0adE2D0BgcPXLQ4jPB4pn14V4N37qG5XAptsrtiIZKTCYTI844g4nnnceYMWPUbFKl09J1nU2bNvHpp5+yauXn1Dc0EmYTjGgJ4nkx2ml/T25v+K51CNZW2FhXEURJrbvtnpeby3kTJzJ27Fg19k/pNA4dOsR7773H/AXzcTqcyBSJkWtAjHdf1y/hWwKVYN5uhgoICw/jsksv45JLLiE6Otq7r91FqVGDqPDtTfX19axatYr5Cxawo6gIYbbijE1DS8zFCOvYgdYb4Vs0V2Ot2I7tcAlSc9CnT18uumgGEyZMUG8ySpfjcrnYsGEDK1as4MvVX9Bsd9A30mBmvyYGx7t+NoS3NXzXOgSL9gTz6b4QXLokIz2NCedNZNy4cWo5idKp1dTU8N///pd578+jqbEJkkDP0aGHd17Pp+FbAgdbQncVREVHcdWVVzFjxgzVgOogbyw76Q3cBwwBwo//nJQyqz1FepsK375RVFTE/Pnz+WT5clxOJzI8AWdCDlpcWrsu0vRY+JYG5iO7sR7ahrnuAGazmbFjx3LRRRcxcOBAdepb6RbsdjufffYZr736CvsPVpAepTMzrYkBsT/thLc2fNc7BUv2BLN8bwguAyZNnsxVV11F3759vfzdKIpvNTY2Mn/+fN5+923qauogAfT+Onj4ZI5PwrcEKsBSYEEekfRI6MHVs67m/PPPV5O7PMQb4ftrYDswD/eUk2OklJ+2p0hvU+Hbt+rr6/n444/54MMP2VtejggKx548GC0+C9owKqzD4VtKzId3Erz/W2iuJSExkYtmzGDatGnExHj53KGiBChN0/joo4/4z6uvUHGokqxonasyG8mI0o895nTh26nDgt3BfFweikOXnHfeRK677jpSU1N9+r0oiq85HA4WLVrEf177D7U1tcieEiPfAA+dOPV6+K4C8/dmqISExARuuP4GJk2apIYJeJg3wnctECOlDIDBk62jwrd/SCnZuHEjL774IoWFhRAciSN5CFp8equmpLQ7fEuJuXoPwfu+haYj9OuXxk033cjo0aPV7neK0sLlcrF06VL+8+orVFcf4frsRsamOIFTh+9ah2DOlghKas2MGzeO66+/XnW6lW6nubmZ//73v7zx5hs0NTa5L8zsL92jKDrAa+G7GkwFJsQBQXRMNNdfdz0XXHCBGijgJa0N3235lWcRcC7weburUroFIQTDhw9n2LBhrFu3jueef4GdpasIOrgFe8ow9Jg+Hp+QYqrdR/DeDYiGSlJSenHT725h3LhxanMORfkRq9XKjBkzGD9+PPffdx8vbtjAvkYzV2Y2/+zX7Kk3848tkTQaNh544B7Gjh3ru4IVJYCEhIRw9dVXM2PGDN555x3em/cejo8dGBktITxQMq0DxBaBabeJsPAwZv9qNpdccgnBwcH+rkyhbZ3vWGANUApUHP85KeUNni+t41TnOzAYhsGqVat44cUX2VtejhbbD0e/s8By8jeBNnW+dRe2sq+xHtpOj4QEbrxBnUpTlNbSNI1nnnmGDz74gCHxLpo1ftL5vjjNzj+2RBIRFcNf//Yo2dnZfqxYUQLLkSNHePnll1m0aBGEgD5QR/aS0Mb+ksc63xLELoH5ezNCE1z+P5cze/ZswsPDT/+1Sod5Y9nJAtyb7Czjp2u+721Pkd6mwndg0XWdt99+mxdfeglpCaap3zkYUSk/eVxrw7ep4RAhO1eBvY4rr7iCG2+8EZvNM+MOFaU7mTdvHnPnzqVHsE6l/YclWllRGoccFqISUpnz5FNqZKCi/IzCwkL+/vjfKS0phUTQh+htWorikfBdDebvzHAYBg0exJ133KmWhvmYN8J3PZAspazvaHG+osJ3YCoqKuIvDzzA3vJyXEn5OHufccJa8NOGbymx7t+Ebd+3xMfFc++99zBkyBBffguK0qVIKbnnnnv4cvVqjj8iRNoMGjQLzz33nOp4K8pp6LrO/Pnzef6F57E77O4ueHrruuAdCt8SxDaBqdBEZFQkt958KxMnTlQTvfygteG7LQtitwBx7S9JUdyys7N5+aWXuPjii7Ee/J6g0pXQ2ut4pcRWtg7b3o1MGD+e//znVRW8FaWDhBDccccdP7lGos5p4uqrr1bBW1FawWw2M3PmTN58401GDB+B6TsT4msBLi++qB3Mq82YCkxMPG8ib7/5NpMmTVLBO8C1ZWHsZ8AnQohX+Oma75c9WpXS5QUHB3P77beTkJDAc889B5hwpJ9z6mkoUmIrW4/1YAGXXXYZN998s3qDURQPiYuLIyExkQMHDhy7z2QyMXv2bD9WpSidT3x8PI89+hhvvfUWL774IrJGop2peWws4TGVYFlvweKycPvvb2fatGnqmNhJtCV8jwH2AZN+dL8EVPhW2mXWrFnouu5+gzKZcPY7+2cfa927EevBrVx88cUqeCuKF0RHR58QvqOjo9XmG4rSDiaT+6xRfn4+991/HzWf1aCN1iDJM88v9ghM35jomdyThx58iIyMDM88seITrQ7fUspx3ixE6b6uueYa7HY7b7zxBnr0yTfrMNUfxLZ/E1OnTuW3v/2tCt6K4gU/DtrR0Z5u1SlK9zJ48GBefeVVbr/jdnat2eWRAC72CEzrTQwZMoRHHnmEsLAwzxSr+EybhiALIWKEENcIIf7Y8qfaLlDxiBtuuIG09AxCytbBSS4CDtn9FT0SErnttttU8FYUHwkNDfV3CYrS6cXExPDUk0/Rr28/LGsscPD0X/Nzjna8hwwZwqOPPqqCdyfV6vAthBiFe8b3r4CBwP8CpS33K0qHWCwW/vD734GzCeE4caCOcDRAUzX/d+cdKgwoig+pefmK4hlRUVEnBvCadjxJBZi+MTF48GAeffRRtWFOJ9aWzveTwK+llKOllFdKKc8C/h/wtHdKU7qb3Nxcpk6disl14k57JlcTI0eOZNQo9XueoiiK0jlFRUXx5JwniYqMwvKNBdoyxtsFlo0WeqX04tG/qeDd2bUlfGcB7/3ovvdxb7yjKB5x/vnnAz9adiINpk2b5pd6FEVRFMVToqOj+cPv/4CskYjC1i+hFJsENME999xDSEiIFytUfKEt4bsYuOJH912GeymKonjEgAEDsFqtJ9xnMplU11tRFEXpEs466yymTJmCabsJ6lrxBZVg2u2enpKXl+f1+hTva0v4/i3wjBBinRDiXSHE18CzwK2eKEQI8bIQ4pAQ4vuf+fxYIUStEGJTy+3PnnhdJbAIIYiMjDzhvoiICDXuTFEURekyfvWrX2EymRC7Tt/9FjsFoWGhXHPNNT6oTPGFVodvKeUaIB14BtgIzAUyWu73hFeBKad5zGop5eCW2wMeel0lwPz4lJpa26YoiqJ0JbGxsYweNRpzmfnUa7+dYN5nZvKkyaoJ1YW0adSglLIa+AJYDXwhpTziqUKklF8AHns+pfP6cdhW4VtRFEXpaqZNm4a0Szj0848R+wRSly3XQyldRVtGDfYUQqzCvfb7A6BECPGFECLZa9X91CghxGYhxDIhRH8fvq7iQz8eb6bGnSmKoihdTf/+7hgj6k+x9KTefQzMzMz0UVWKL7Sl8/0vYDMQK6XsCcQA3wH/9kZhJ/Et0EdKOQj3kpf5J3uQEOKXQogNQogNlZWVPipN8Sa1qY6iKIrS1URFRbmbS82neFAzxMTFYDK1aaGCEuDa8q85BrhTStkI0PLn74HR3ijsx6SUdVLKhpb/XgpYhRDxJ3nc81LK4VLK4T169PBFaYqiKIqiKG0ihCA6Jhrsp3iMXRAf95Ooo3RybQnf1cCPZ9xk0759mtpMCJEkWlqgQogzcNd+2BevrfiWy+U64WOn0+mnShRFURTFOwzDoLamFk5xHaUMkhw+oqJOV9OWxbSPASuEEC8Be4A+wPXAvZ4oRAjxNjAWiBdC7AXuA6wAUsp/A5cC/08IoeE+SXOFlFL+zNMpndiPw7YK34qiKEpXU1FR4W42ReBub55MBFRuq8ThcKhpJ11Iq8O3lPIFIUQpcBUwENgPXCml/MwThUgprzzN55/BPeZQ6eKam5tP+bGiKIqidHYlJSUAyEiJ4GeubYoEKSWlpaVqg50upFXhWwhhBl4GfumpsK0oJyOlpLa29oT76urrcTqd2Gw2P1WlKIqiKJ61ZMkSRIiA2J9/jEyUCLNg6dKlKnx3Ia1a8y2l1IFJnHoUvKJ0WGlp6U/WfEvDYNOmTX6qSFEURVE868CBA6xduxa9r37qJGYDPVXn408+pqGhwWf1Kd7Vlgsu5wB/EUJYvVWMosyff7IJkoIPPvzQ57UoiqIoije8/fbbSCQy7fSXrsl0icPu4IMPPvBBZYovtCV83wL8DqgXQpQLIcqO3rxUm9LN7N69m8WLF2NYQ0+437CFsearr9i8ebOfKlOU7kld7Kwonvfdd98xf/58jHQDQk//eGJBpkheefUVdu3a5fX6FO9rS/i+GjgPmNzy37OPuylKh0gp+fe//400WZBB4Sd+zhaGCArjmX/+E8NQK58UxVeampr8XYKidClNTU08/MjDiAiBHND6gW3GUAPDYvDQww+haZoXK1R8odXhW0q56udu3ixQ6R7effdd1qxZg6PnIBA/+t9SCJp7Dado+3b+9a9/+adARekGfjxZqLr65+afKYrSVrqu8+hjj3Ko4hDacK1tw56DQRuiUbyjmGeffRY1ablzO+U/vRDigdY8iZTyz54pR+mOVq5cybP/+hdabD9cPQdirin/yWP0uAxcDZW8++67pKSkcNFFF/mhUkXp2qqqqk74uLa2lqqqKuLj1Q57itIRUkqefPJJPv/sc4wBBrTnR6oXGBkG77//PtHR0VxzzTUer1PxjdN1vlOPu2UCdwETgAxgfMvHmd4sUOnaNm3axIMPPoQMT8CRfi6In5l1KgTOPmeiR/dmzpw5rFqlTrgoiieVl5dz5MiRn9z/yiuv+KEaRelaXnrpJRYsWICRbSBz2t+1loMlRm+DF1988WcGFCidwSnDt5Ty+qM3QODeVOcsKeVVUsoxwBU+qVLpcqSUfPjhh/z29ttxWUNpyjwPTKc5BydM2DPGYYT14N577+XVV19Va8AVxQOampq4+493YeLEUBAbZLBo0SKWLFnip8oUpXMzDIPnn3+e1157DaOf0aZ13iclQI6QyGTJP+b8g3nz5qklKJ1QWy64nAr8+NesBcD5nitH6Q4cDgePPvooc+bMwRWRTGPudLCGtO6LzVaacs9Hi8vg5Zdf5k9/+hONjY3eLVhRujBN03jkkYcpLy8nJezEC7kSQnTyYzX+8cTjFBQU+KlCRemcHA4H999/P2+88QZGmoEcJvm5jSzbxATGmQYyWTJ37lyefPJJdRFmJ9OW8F0C/OZH9/0aKPVcOUpXV1JSwm9+czNLly7FmTIEe9YksAS17UlMFhzp5+LocyZfrVnDTb/4JVu2bPFOwYrShe3bt49bbr6ZL75YzZUZTYRaftpB+01+A9E2nVtvvYV58+aps02K0grV1dXceuutrFy5EmOggRzqoeB9lBmMUQZGlsGHH37IXX+8S00n6kTaEr5vAu4QQuwVQnwthNgL3Nlyv6KcUl1dHU888QQ33ngjxbvKsGeeh6vXsJ9f4306QqAl5dOcM5X9ldXcfPPNPPjggz+5YExRlJ+SUrJ48WKuv+46dhUX8uv8Bqb2cZz0sRE2yf3DasiPambu3LnceecdHDp0yMcVK0rnsWXLFm686Ua2F29HH60jsz0cvI8SIAdJjGEG69ev5xe//AWlpaof2hmItqwVatnd8kwgGTgArJVSuk79Vf4zfPhwuWHDBn+X0a3pus7ixYt57rnnaWhswJWQi7PXsFN2u4MLF2OuP/jDc0QkYc+74BQv4sK6fzNBB7dis1q57rprueyyy7DZbJ78VhSlS9i2bRuvvvIKa9etIy9W43/zGogLdh8HHtoQzvaaHzYxzol2cc9w95bWUsLn+2y8WRyONTiEG2/6BVOnTiU0tDW7hChK16frOq+//rr7IuVw0EZqENO6rzWtNCEqf0josofEGNuGs0yHwLLeglkzc8vNt3DRRRch2tvcUtpNCLFRSjn8tI9rb/iWUr4rhAgDkFIG5KJbFb79R9M0Vq1axWuvv86unTsxInti7zMKGRp72q9tc/huIex12MrWYakuI6lnMtfMvppJkyapEK50ey6Xi5UrV/Lf99+ncNs2gi2Cmf0amdzbgem44/OpwvdRB5tMvLAtnKJqM6EhIUw9/3wuueQSUlNTffXtKErAOXToEA88+ABbNm/B6N2yzMR6+q87qsPhG8AOpm9MiIOCMWPGcNdddxEZGdm251A6xOPhWwgxAFgIOIBeUspwIcT5wLVSyss7VK2XqPDtew6Hg2XLlvHmW29TcfAAhERjTxmCHpvW6iUm7Q3fR5lrygnauxHRWEVMbBxXXP4/XHjhhYSFhbX5+1GUzqyqqoqFCxeycMF8jlTXkBQmmZjSzNnJDkJPMlyoNeH7qJJaM5+UB/H1oSB0A0aOPIOZMy/ljDPOwGRqy4pGRem8pJQsX76cOU/OocnehD5ER/Zp+zITj4RvAAmiWGDeaiY6Jpq7fn8Xo0aNavvzKO3ijfD9JfCclPJ1IUS1lDKmpfO9Q0qZ0sF6vUKFb9+pr69n/vz5vPvePOpqa9xzu3sORI/p0+Z13R0N3wBIialuH7b9WzDX7SckNIxLZ17CzJkziY09ffddUTqr/fv38/XXX7Nu3VrWr1+PrhsMincxqZedAXHaCZ3uH2tL+D6qxiH4bF8Qn+0LocYBPZMSGXP2OZx55pkMGjRInXlSuqyqqioef+Jx1ny1BuJAH6FDRPuey2Ph+6hqsHxjQdZKpkyZwi233EJERDuLU1rNG+G7GoiVUkohxBEpZWzL/cf+O9Co8O19RUVFLFy4kE8+WY7DYUeP7oWz50CMiJ7tvpjSI+H7OKaGSqz7N2Op3o3FamXc2LFceOGFDBw4UK2JUzo9p9PJ1q1bWbt2LevWrqGsfC8ACaEwLN7OhF4OkkJbdxBvT/g+SjNg/SErqw8Esb3aisuA4CAbQ4cNZ9SoUYwcOZKkpKS2f4OKEmCklHzyySfMeXIOzfZm9Hwdmdmxiyo9Hr4BdBDbBKbtJmJiYvjD7//A6NGjO/acyim1NnyfZleTE+wGhgHH0qwQ4gzcIwiVbqSxsZEVK1awYOFCSoqLEWYLzph+aJn5GGFx/i7vJ4zwHjiyzsPZXIv14Pes+HwVy5cvp1dqKhfNmMHkyZOJioryd5mK0moVFRUt3e11bNzwDc12BxaTOyxfneViUJyLpFCj3cOE2sNigtFJLkYnuXDoUFhtYXOVlc2b1rBmzRoA+vbpzajRZzFy5Ejy8/NVV1zpdCoqKnj8icf5et3XEA/62e3vdnudGWS+RE/RqdlQw1133cXEiRO55ZZbiI6O9nd13VpbOt8XAC8B/wb+D3gI+H/ATVLKT7xWYQeozrfnSCmPdbmXL1+Bw2FHhsXijM9Bi09v+6zuU/B05/sndBeWI7uwVW5H1B861g2fPn06gwYNUt1wJaDY7XZ27NhBQUEBhYWFFBZ8T2XVYQDiQ2BQrINB8S7yYlwEt6WdchId6Xz/HClhf5PJHcQP29heY0E3wGoxk5mVRf/++eTl5ZGXl0dSUpL6+VMCkmEYLFy4kGf/9SwOl8Pd7c7w3AhBr3S+j2e4u+Dm7WbCw8O5/be3M2HCBPXz5mHemnYyBPgF0BsoB16UUm5sd5VepsJ3x1VVVbF8+XKWLlvGnt27EWYrzth+aAk5GGE92j+n+xS8Hr6PY2o8jKWyCNvhEqTmpGdyMudPncrkyZPVKXLF56SU7N27l8LCQnfYLvie0p070XX3QTghFNIinGREaeTHukgJ82x32xvh+8eaNSg4YmVHrYWSWgu76604dfdxKCY6irz++fTv35+8vDxycnLUKEPF78rKynj00UfZunUrJII+TAcPX7/v9fB9UN6WhwAAIABJREFUVC2YN5rhMJw56kz+787/IyEhwfOv0015Y823DbgHuAr3nO99wDvAw1JKewdq9RoVvtvH4XDw1Vdfseyjj1j/9ddIKZHhCTjjM9DiMsDi3VPFvgzfP7yIuxtuqSrGXHcAgEGDB3P+1Kmce+65KgAoHielpKqqipKSErZv336sq13f4J7cGmIR9It0kRHpIiNKJz1SIyqo9c2S9vBF+P4xzYDyBjOldWZKai2U1tk40OgOISYh6Nu3D/3zB5Cbm0tmZiZ9+/YlKMhzZ9oU5ecYhsH777/Pc889h2bS0Ae2b5JJa/gsfMMPE1EKzATbgvntbb9lypQpqgvuAd4I3y8B2cDDwB7c3e+7gRIp5Q0dqNVrVPhuPSklhYWFfPTRRyxfsYKmxkZEUDiOuHS0+ExkiO/Wh/klfB9HOOqxVJVgO1wMzXUEBQUzduy5TJ06lcGDB6sxakqbuVwuysrKKC4upqSkhNKSEkpKiqmtqwfcx/KUCElGS1c7PUojJcw45WQSb/BH+D6ZBpegtNZMaZ27O15ab6PR6T5WmUwm+vROJSMzi4yMDNLT08nIyFBTjBSP2r9/Pw8/8jBbt2xFJrt3kSTYe6/n0/B9VAOYN5ihEkafNZrf/d/viIsLvOu2OhNvhO/DQLqUsua4+2Jxh++AfNdT4fv0jhw5wscff8ziJUsoLytDmC24ovvg6pGJEZkMwvdB09/h+xgpMTVUYKksxla9C6k5SUxM4oILpjFlyhQSExN9X5MS8Gpra90Bu7TUHbaLi9mzZw+argNgNUNqmEFquIs+ETq9w3V6R2gnnbvta4ESvn9MSqhoNrGn3kxZvZmyBjNljTYON//wmNiYKDIys0hPzyAjI4PMzEx69eqFxRIAf7FKpyGlZNGiRcx9Zi5Ow4k+yHvd7uP5JXzDD13w782EhYbx+9/9nrFjx3r/dbsob0w7OQiEAjXH3ReCe5t5pRPRNI1169axZMlS1q5dg2EYGBGJuPqdjRbbz+vLSjoNITAiknBGJOE0RmE+spv9VTt46aWXePnllxk2bDjTpp3PmDFj1GnwbkjTNPbu3UtpaSk7d+6kpKSE4h1FVB0+cuwxMcGC1DAnU1O1lpCtkxRiYFYnT9pECEgKNUgKNRiZ6Gq5t5EGlzgWxvfUOyjfXs23G75Ba8ksNquVvv36kpGReaxLnp6ernb9U06qqamJhx95mNVfrHav7R6uu1NPVyZAZkm0JI2Gbxr485//zPTp07ntttvUNCIvOmX4FkKMP+7D14GPhBBzgb1AKvAb4DXvlad40r59+1i4cCFLl31EbU01whaKI7E/Wo9sny4r6ZRMFvT4DPT4DPeylModbPh+Oxs2fENYeDiTJ03iwgsvJC0tzd+VKl5QU1NDaWnpD7eSYnbt3o3LpQFgFpAcLskOczIxU6dPS9COtHl3jXZ3F26V5MVq5MVqx+7TDDjQZGJPvcXdIa8q5Ms9JSxd+sO/RXxcbEuXPP3YLTU1VXXJu7GysjL+ePcfKS8vxxhoILO83+0OKJGgj9MRBYJFixZRUlLCww8/THx8vL8r65JOuexECLGrFc8hpZQBmTjUshO3rVu38u6777J69WokoEX3RuuRhR6VCgG4fjlglp2cjpSY6vZjrdyBtXo30tAZMWIEV155JcOGDVMXr3RCR9dm/xC0SygtLuZw9Q8n/KKDBamhTlKPLhkJ10kO07EE3o9SmwXqshNPqHUIdxhvMFNeb6as0cq+RhMtg2SwWsz06dOH9IzMY+vI09PTiYmJ8W/hitd99dVXPPDgA9gNO9pIDfww/MNvy05OZq97d8zI8EgefuhhBg4c6J86OiGPLDuRUvbzXEmKL+m6zurVq3nnnXcoLCxEWINw9ByIlpiHtHl4RlJ3JQRGVAqOqBQcLjvWQ9vYsLmAb765g35paVx5xRVMmDABq9V6+udSfE7TNPbs2cO2bdsoLCxkW2EBe/aU/bA22wQp4QZ5YS56Z+qkRuikhutEqW52pxQVJBkQpDEg7qdd8vIGM2X1Fspqili/ahcff/zDv3FMdBRZ2Tnk5eWRm5tLTk6O2qCkC1m2bBl//etfEbECbZTW9ZeZtEYv0CI06tbWcettt/LXR/7KqFGj/F1Vl9KmOd+dTXfsfBuGwZIlS3jt9TeoOHgAgiNblpZkgblzhMBO0/k+GUPHUlVCUMX30FRNTGwcV115BTNnzlSntP1ISklFRQXbtm1z3woLKSrajt3hBCDcJugX4aRvhHasm50U2v3WZnflzndb1DuFO5A3uC/w3NVgY2+D4OjhMrlnEnn988nJySE3N5esrCx13UcntHr1au655x5kgkQ/Swez/2oJqM73UU6wrLZgqbcwZ84c1QFvBa9sstPZdLfwXV5ezt/+9ihbt25Bhifg6DkAPaaPXyaWdESnDt9HSYm5di/WA1sx1+0nLT2DP939RzIzM/1dWbdQX19/bHa2O2wXUF1TC7g72n0idNIjXaRHaaRF6iSG+HYr9kClwvfPa9Zgd73l2AjEnfU/TFsxm02kp6WRm9ef3Nxc8vLy6N27txpLGsC+/fZb7vy/O9GjdPRz9LaNn/CCgAzfAA6wfG4hWA/mn8/8k4yMDH9XFNBU+Kb7hG9d15k3bx4vvPAiGgJ76ki0+Eyv7D7pC10ifB/HfGQ3IXvWIHQHV8+axTXXXKOuIveC+vp6vvzySz5dsYINGzdiGO4DV0q4JC3CSVqkTkaURmp411if7Q0qfLdNtUOws9ZCaZ2Z0jorO+utNLvcx9SEHnGMnzCRCRMmkJWVpa4BCSA1NTVcfsXl2K12tLEaBMDbccCGb4AmdwCPDY3lnbffUWd5TsEbowa9SgjxMnABcEhKmX+SzwvgKeB8oAm4Tkr5rW+rDDy1tbX8/vd/YNu2QrSY3jj7nqXWdAcYPbYvDZFJ2PZ8zWuvvcbKlat4/PG/q+3rPaC5uZk1a9bw6acr+HrdOlyaTo9QOD/VTn6ci7TIwJifrXRNMUGSYQkuhiW4ADuGhINNJoprLGyodDHvvXd45513SEnuyYTz3EG8Xz91KZW/vfPOOzQ3NaNP1gMieAe8UNBGaBxedZhFixZx6aWX+ruiTi+QDkuvAs/w86MLpwKZLbeRwL9a/uzWnn32WbZt3449fSx6XHqn7XZ3eZZgnOnnoselUV76OY8/8QR/f+wx1Q1rpw0bNrB48WLWfPUldoeTmGCYkGxnVKK7w63+WhV/MAlIDjNIDnNyboqTBpdgwyEr6yrKeeP113jttdfo26c3E86byCWXXEJERIS/S+52ampq+O8H/8XobYAa9956CUAPeP2N15k+fbrqfndQwIRvKeUXQoi+p3jIDOA16V4ns04IES2E6Cml7Lab/GzdupVly5bh7DkQPV6tw+oM9OhU7MlDWf/1OlavXs0555zj75I6ndLSUu644w4ibHBWgp1RiS6yojWfb8WuKKcTbpWMTXEyNsVJrUOw/pCNtRW7eOmllygtLeWBBx7wd4ndztKlS3HYHcjcrrvk1lv0PJ3qVdWsWrWKSZMm+bucTq0zrXxMAcqP+3hvy33d1tNz5yKCwnGlDPF3KUobaEl5yLA4nnzqabryNRfeMm/ePGxmwWNn1nB9TjM5MSp4e0qzJggJCeHSSy8lJCSEZk39xXpKVJBkYqqDPw+v44I+dr5YtYoDB7pt78hvamtrEWahut7t0TJhs66uzr91dAGdKXyf7Cjwk+QihPilEGKDEGJDZWWlD8ryH4fdgWEN6TQjBJUWwoRuC8PpdKrw3UY1NTUsX/4JI3rYiVDztj2uSRNMmzaNW2+9lWnTptGkwrdXjE1xYEjJBx984O9Suh1d1ztX8gkkLW8Hmqad+nHKaQXMspNWOLql/VG9gP0/fpCU8nngeXBPO/FNaf5x4YXTefrppzE1VmGEqS1gOwvhaMBSU86Fs2apUWRt1NTUhNVi4auDQTRqJi7s20xWtO7vsrqMUItkyZIlACxZsoQES5d+C/W5Jg1W7A3i43L3Ti4ul8vPFXVTBqDj17nenVJL5lZNo47rTEf+hcA1wu1MoLY7r/cGmDx5MlabDVvZetAc/i7HY4ywOKTZijRb0SOSMMLi/F2S5xgatrKvEcD06dP9XU2nk5yczHvz3ufGG29kpyOGBzZE8sCGSDZVWVDHg47LidHQHY3M/+97JJjryYlRHS5PqHEI3i0J5ravYnmvJJSsAcN56qmnuO222/xdWrczatQopC4RuwPrrI6Mlkhry62HREYH3hua2On+O1O7XXZcwHS+hRBvA2OBeCHEXuA+wAogpfw3sBT3mMES3KMGr/dPpYEjIiKCW2+5hTlz5mAumE9z+jiM8AR/l9Vhzj6jMDUeBujU871/TDRVE7rzc2g8wvU33EDPnj39XVKnFBkZybXXXsv//M//sGTJEt55+y0e31RFcpgkP9ZBTrRGdrRGVFDgHbwC3ezsZvbUu9uBar53+2kG7Kk3U1RjoajGwpbDNjQpOPfcc5k1axbZ2dn+LrHbGjp0KFnZWRQXF6OlaSdf0OoHcrBE1LiLCZj53sfTwFxqZvRZo+nbt6+/q+n0AiZ8SymvPM3nJfAbH5XTacyYMYP09HTuu/8vVBYuxtlrOK6eA9TIwUAiJZbKHQSXrSUiLIw/P/44Z5xxhr+r6vSOXhh40UUXsWLFCpYtW8qqggI+KXefyk8Kg+woB1ktYVztYql4i12H0lpLS9i2UlJnxaG5f/lLTkpk2oWjuOyyy0hNTT3NMyneJoTg6llX8+c//xlRJJA56pf01hDfC6RDMmvWLH+X0iUETPhW2i8/P59XX3mZvz36KKu/+AJr9S4cPQe1bC2v0obfSIm5dh+2A5sx1R1gyNCh3HPPPcTHq/X5nmSxWJgyZQpTpkzB5XKxY8cOtmzZwubNm/l2y2ZW7W8EIDoYsiKdZLeE8d4RupqSorRLvVOwo6WrXVRrZXedGV26g11av35MGzuYgQMHMnDgQPXzHoDOOeccxo4dy8qVKzFCDGQfFcBPRRQJTMUmZs6cSX7+T/ZAVNpBhe8uIiIigocefJCPPvqIV179DweLV0BoDI6kgWhx6aAu7PMdKTFX7ybowBZEQyUxsXFcc9ttXHTRRZjN6gofb7JarfTv35/+/ftz5ZVXYhgGe/bsORbGt2zexPodVQDYzIJe4Rp9wjV6h+v0iXBvPR+i3hWVFoaEymYTe+rNlDWY3X822jjc7P681WImJzeXKwe5w3Z+fj7h4eH+LVo5LZPJxJ/+9Ceqa6rZvGEzepAOasPhkxJ7BKYtJsaNG8ctt9zi73K6DNGVr1odPny43LBhg7/L8DlN01i5ciWvvf46u3ftguAIHIkD0HpkgblzJIvgwsVAJ1vzbehYDpcSdHALNNWQ1DOZa2ZfzaRJk7DZ1B7GgaKiooLNmzezY8cOiot3UFJcTH1D47HPJ4ZB7zBnSyDX6R2hERcku81JpIc2uMNjd1vz7dShvOG4kN1goazBir1l+YhJCFJTe5GZlU1GRgb5+flkZ2ernf46sYaGBn5z82/YXbYbbbh24jw1PzCtdDfJAmLNt3RfYGneZGbgwIE88fgT6jjWCkKIjVLK4ad9nArfXZeUkrVr1/Laa69RWFiIsAThjEtH65Ed8BNEOlP4Fs01WCqLCDpcinQ20S8tjWtmz+bcc8/FYukcv+x0Z1JKDh06RGlpKcXFxe4/dxSxb/8Pw5TCbII+YS56h7uXq/SJ0EkO07F2wRNKXT18Swk1TkHZsW62hfJGK/sbxbGJOaEhwaRnZJCRkUlmZiYZGRn069dPBe0u6MiRI9x9990UFhZi5BjIfOm3izADJnzrIL4TmHaZGHnmSO6/737CwsL8W1Mn0drwrZJBFyaEYPTo0YwaNYrNmzezcOFCVq5ahVZRiAzvgTM+y70kxaJ+m20zXcNyZBfWqiJMdQcxmc2cNXo006dPZ+TIkYju0ibtAoQQJCYmkpiYyOjRo4/d39TURGlpKSUlJe5b8Q4+37kTR8sFnSYByeGS1FAXqRHupSup4Tqx3ahLHuicOuxrdIfs8nozZY3uoF3v+KHplNAjnsxB2UzMzCQ9PZ3MzEySkpLUDP5uIjY2lqeffponn3ySxYsXI2slxkijZdZaN9QM5nVmqILZs2dzww03qOWSXqA6391MXV0dy5cvZ8HChezetQthtuCM6efuhkckBswFmgHZ+ZYSU9NhLIeKsB0pRWpOklNSuHD6dCZPnkxcXGCfTVA6Ttd19u7dS2lp6Q+3kmIqDv2wm26YTZDa0iVPDdfpHa7TK1wnqJMcvzpj51tKOGw3uUN2y9KR8kYrB47rZgfZrKSlpZGe4Q7ZaWlpZGRkEBER4d/ilYAgpWTBggU8+dSTyBDpXobSw7c1+L3zvR8s31qwGlb+dPefGDdunH/q6MTUshNU+D4VKSXbt29n8eLFfLJ8OQ67HUIiccZmoPXIRAb594AUSOFbOJuwVJVgO1wMTdVYrTbGjj2X6dOnM2jQINXlVqivr2fnzp3HhfISdpbuxO5wb34lcI8+TG1ZS94vUqNfpE6kLfDefwM9fOuGu5u9q87M7pa12eWNVppcP/xd9kxMID0zi4yMDHfgTk8nOTlZdfCU09q6dSsPPvQgBw8cxMg2kP2lz3bC9Fv4doHY7F5m0i+tH/f9+T7S0tJ8W0MXocI3Kny3VlNTE1988QXLli1j06ZNSCkxInviis9Ei+0LZt8vS/F7+DY0zNV7sFYWY67bB1KSm5vH+edPZfz48apbppyWYRgcOHDghC55SfEO9h84eOwx8aHQL9zpDuMROv0idcKt/n1PDqTwbUjY32hiZ53FHbYbrOyuN+PS3Z8PDQkmPT2D9IyMY93stLQ0tT5V6ZCmpiaeffZZFi5ciIgSaCM0iPH+6/olfFeC5RsLNMGsWbO47rrr1IWVHaDCNyp8t0dFRQUff/wxS5ctY/++fQizBVd0H1w9sjAik322LMUv4VtKTA2HsFTuwFa9C6k5iY/vwdSp7hnSaoMMxRMaGhooLi5m+/btFBUVsX1b4QmBPCEU+kU46RehkRap0zdSI9SHV+f4K3wbEg42uYP27jozO+st7Km34tDdx6jgoCCysrPIycklOzubnJwcUlJS1NpsxWvWrl3L3x79G9U11e4ueK53u+A+Dd8u98Y5phITST2TuPeeexkwYID3X7eLU+EbFb47QkpJQUEBH330EctXfEpzUyMER7ov0uyRibR5t7Pk0/DtsmOpKiaoagc0VWMLCmLc2LFMmTKFIUOGqIO74nV1dXXs2LHjWCAv2l7IwYof1pEnhUmyo5z0j3WRG6MRE+S9921fhW/NgF11ZgqOWCmssbKrzkpzy1i/IJuVzMxMsnNyycnJITs7m9TUVLVsRPG52tpa5s6dyyeffIKIFGjDNPDSvkk+C98HwPKdu9t9ySWX8Itf/ILQ0FDvvmY3ocI3Knx7isPhYPXq1SxatIjvvvsOhECLTkXrkY0enQrC8+HU6+FbSkx1+7AeKsJSswcMg9zcPKZPv4Dx48erNyLF72pqao4F8m3btrF503c0NDYB7ikr/aMd5MVq5MZoHl2q4q3wbUj3HO2CIxYKjlgpqrUdm6GdntaPAQMHHQvaffr0UWM6lYCybt06Hvv7Y1RVVmFkGMgB0uPz4rwevh0gNglMZSZ6pfbij3f9UXW7PUyFb1T49oa9e/eydOlSFi9ZQk11NSIoDEdcBlpinke74V4L3y471kPbsFXtAHs9YeERnD91CtOmTVMXmCgBTdd1SkpK2LhxI99u3MiWLZuxO5wIoG+kQV6Mk7wYF9kxGsEdaBB7KnxLCQeaTBRWWyg8YmVbTRD1TvfxJjUlmaHDRzBs2DAGDx5MdHR0h15LUXyhqamJ5557jg8//BAR1tIFT/Tc83s1fO91d7uFSzD76tnMnj1bre32AhW+UeHbmzRNY926dSxevJi1a9ciEbji0tCSBnhkAx9Ph2/RXIv14FZsh0uQusbQoUOZPn06Y8aMURtnKJ2Sy+Vi27Ztx8J4QUEBmq5jNcOweCdn93SQH6thbuOJqY6G78N2wVcHgviyIpj9De5rRBLi4xg24gyGDh3KkCFDSEhIaNdzK0og2LJlC4/89RH279uPkWYgB0qPzAX3Svi2g+k7E2KvICMzg7v/eDcZGRmee37lBCp8o8K3r+zfv5958+axePESHA47elQyrqQB6FG92n2BpkfCt5SY6g9iPbgVS3U5ZouZKZMnc/nll9O3b9/2P6+iBCC73c7WrVv58ssv+XTFcurqG4gOhtEJds5OdpAa3roDenvCt12HDYdsrD4QROERCxIYOGAA502cyPDhw0lJSVEjOZUuxeFw8NJLL/Huu+9CCO4ueFLHntOj4VuCKHdvD2/STdx4w41cccUVajmXl6nwjQrfvlZfX8+CBQuY9/5/qT5yGEJjsCcPQY/t1+YQ3tHwba7ZS9C+jYiGSsLDI7jkkou5+OKL1UY4SrfgcrlYu3YtH330EWvXrkHXDfpEGIxJsnNOspOwU6wRb0v4Lqoxs3JfEOsrg3FokuSkRCZPPZ/JkyeTnJzsse9HUQJVYWEhDz/yMOVl5RjpBnJQ+yeieCx8O0F8KzCVm8jJzeHuP96tGk4+osI3Knz7i8vl4tNPP+WNN96krGwPRkQijt4jMcJbf6q5veFbNFUTVP415pq9JCQmcvWsWUyZMoXg4OA2PY+idBU1NTV8+umnfLRsKUU7iomwwWVpjYxNcWI6ye/ErQnfFU0m3twRyrdVVkJDghk3fgJTpkxh4MCBqsOtdDsOh4MXXniB9957zz0XfKQGUW1/Ho+E7yqwrLcgmgU33ngjV111lZoS5EMqfKPCt7/pus7SpUt5/oUXqa2pRotLw5k6olW7Z7Y5fLuasO39FmtlEaGhoVx37bVccskl6oISRTlOUVERc59+mi1bt9I30uCarAayovUTHnOq8G3XYMHuYJaVhWCxBnHtddcxc+ZM9cutogDr16/nwYcepK6+Dn2gjkyX7u1tW6lD4dsAsU1g2mYiKSmJ+++7n7y8vLY/j9IhKnyjwnegaGpq4q233uLtd95B03QcyUNwJQ865VKUVodvKbEc2k7w3vUIaXDxRRdx3XXXERXVjraDonQDUko+++wz/vnMXKoOH2F0koPrcpqObeTzc+F7Y6WVV4vCqbbDpEmT+NWvfkV8vJcGHitKJ1VdXc0jf32Er9d9jZFqIEe0fhlKu8O3E8zrzFDh/tm8/fbb1S6vfqLCNyp8B5pDhw7xzDPPsHLlSvSoFOzpY8EactLHtip8a06Cdq3GcmQXw4YP547bb1e7UCpKKzU3N/Pmm2/y5ptvkBbh4veD6wixnDx8r6uw8uz34aSlpXP7HXeo2cCKcgpSSt566y2ef/55ZKxEH6XDyQ91J2hX+G4Ay1cWTI0m7rzzTi64wIe7Qis/0drwrbbuU3wmISGBv/zlL/zud78juKmS8IL5mOr2t+u5TI1VhBXOx1azh//93//liccfV8FbUdogJCSEm266ifvuu5/SOiuPb47Erv/0cd8ccgfv/vn5PPPPf6rgrSinIYRg1qxZPPTQQwQ1BGH5zALVXnihQ2D5zEKYDGPOnDkqeHciKnwrPiWEYPr06Tz//HMkx8cQsn0ZlkNFbXoOc/UeQgoXERdmY+7cucyaNUttAa8o7TR27FjuvfdeimssPLXlxOsxCo9YeGZrOLm5efz974+rnV8VpQ3OPvtsnn32WeLC4rCsssBhDz75frCsttArsRcvvvAigwcP9uCTK96mEoviF+np6bz00ouMGD6coF2rMR/e2aqvM9XuJ6TkM7KzMnnl5ZdVF05RPGDChAnccuutbD1socHlPixICW+VhJGQmMjfH1fBW1HaIzMzk+efe56kHklYvvRQB/wgWNZayMzM5N//+rca69kJqfCt+E1oaCgPP/ww+fkDCN65EnNN+Skfb2o4RGjxcnr3TuWJxx9XW1IrigfNmDGDlOSeVNrdh4UNlVZ215m4/oYbCQ8P93N1itJ5xcfH8/RTTxMfHY9ltQVqOvBkle7g3bdvX/7xxD+IiDj99DAl8KjwrfhVcHAwjz32KOlpaYSUfIqw1578ga5mQncsJ6FHPHP+8Q8iIyN9W6iidHEWi4Xrb7gRhy5ocAkW7QkltVcKEydO9HdpitLpJSYmMvfpucSEx2D5ygKOdjxJy8WVvZJ78dSTT6njYCemwrfid+Hh4fz9sccIslkJ2r3Wfb77R2xl6xGGk8ce/Zsab6YoXjJu3DiEENQ5TeysNTFl6vlqgw5F8ZDk5GT+/tjfMTlNmDaYoC3D5gwwrzcTYgvhicefUGd+OzkVvpWAEB8fzy9uuglz7V7M1btP+Jyp7iDWqmKuuPxy+vXr558CFaUbsFqthIWFUdey7nvQoEF+rkhRupbMzEx+8+vfIPYLRGnrd+ARBQIOw11/uIukpCQvVqj4ggrfSsC4+OKLSUtLJ7j8mxPuD9r7DfE9enDttdf6qTJF6T6O35wjJyfHj5UoStc0c+ZMzjzzTMxbzNDUii+oAdN2E9OmTWPs2LHeLk/xARW+lYBhsVi48sorwF4HuhMAYa/FVF/BZZdeSkhIK3YpUBSlQ4KCgo79t81m82MlitI1CSG4/fbbEQhE0em736ZCEyGhIfz617/2QXWKL6jwrQSUs88+m6CgYISrGQBLVQlCCHXRl6L4iNVq9XcJitLl9ezZk8mTJmPeZQb7KR5YC2Kf4NKZl6rJJl2ICt9KQAkNDeXss8dg0tyXgttq9jB48BB1kaWi+IjFYvF3CYrSLcyePRsMEDt/vvstSgS2IBuXXXaZDytTvC1gwrcQYooQokgIUSKEuOskn79OCFEphNjUcrvJH3Uq3pef///bu+/wqMr0/+MA1YuSAAAgAElEQVTvezJpkFATQgm9qBSlBKRJEXALrnwXlbV+XcF1Qfzi6uKuojS7C5a1oaKurKsgiv7AshqkBBSQDgER6YSeBELLZGbOnOf3xwxuZANCmJbJ/bourkx5zjk3uTJzPuc5z3lOWzA22D4oPkK7dm0jXZJSlYbeLVap8MjMzKTVRa1wHDzzZy7uUBxdOnfR2U1iTFR8y4pIHPAy8CugNXCjiLQuo+n7xpj2gX9vhLVIFTYtW7YE8A89MYYWLVpEuCKlKg8N30qFT1anLDgMWGW8eRLMCUOnTp3CXZYKsWj5lu0CbDXGbDfGeIAZwKAI16QipEmTJgCIVfKT50qp0NPwrVT4dOjQAWz8Afw0UuAfjtK+ffvwFqVCLlq+ZRsApe8tvifw2umuFZH1IvKhiDQMT2kq3H6c6sz2AehFJkoppWJS7dq1/Q88ZbwZeE2veYo90RK+y7ra4PR7P30CNDHGXAp8BUwrc0Uid4rIShFZmZ+fH+QyVTg4HA7E4UACfwIpKSkRrkipykPk3G/8oZS6MElJSQCIVcbnzvppGxU7oiV87wFK92RnAvtKNzDGFBpj3IGnU4EyB0EZY143xmQZY7LS09NDUqwKvdIBQG9vrZRSKhb9OLuQXcabgdd0Hxh7oiV8rwBaikhTEUkAbgDmlG4gIvVKPb0G2BTG+lQYGWOwfb4fT32cPHkyovUoVZkYc/pJR6VUqOzb5+9nNFXK+NwFRmDu378/jBWpcIiK8G2MsYC7gS/xh+qZxpiNIvKIiFwTaDZKRDaKyDpgFPD7yFSrQs3jCQx0E//RvoZvpZRSsWj79u3+B9X/+z1Tzfy0jYoZUXM3BWPM58Dnp702rtTjB4EHw12XCr8fj/Lj4sHyceDAAerXrx/ZopSqJGy7rPPfSqlQ2LRpE5IoUNaw7mqA+Nv07t073KWpEIqKnm+lStu2bRsAJj4ZgK1bt0ayHKUqFR12olR4FBcXk7MoB199X9nTTjjBZBi+zP4Sn88X9vpU6Gj4VlHnVNg2zkQkoYqGb6XCSHu+lQqP+fPn4y5xY5qe+YDXbmpTWFDIypUrw1iZCjUN3yrqfLNkCSYuHgBvSgZLli7To36lwsSyyrrVnlIqmCzLYuYHM5FqArXO0rA+SJIwY8YMPSsVQzR8q6iyc+dOdu7YgXH6h5xYtZpy7GgR69ati3BlSlUOGr6VCr2PP/6YnTt2YrWxyh5ycooDfBf7WLVqFQsXLgxXeSrENHyrqDJ37lwATLz/6hNfjYZIXDxffPFFJMtSqtL4cbYhdPy3UqFQUFDA1DemQl3Kvpf3aUxzg9QU/v7C3ykuLg55fSr0NHyrqHH48GFmzvwAq1ZTkMCfZlw8nrSWZGdns3v37sgWqFQl4HK5fnx84MCBCFaiVOyxLIsnn3wSt9uNr/0ZLrQ8nQOsDhaHCw/z/PPP60FxDNDwraLGtGnTcHvceDKzfvK6p0EHjCOO119/PUKVKVV5uFzFSOAWV1u2bIlwNUrFlldffZUVK1bg6+CD1PNYsDbYrW2++OIL3n///ZDVp8JDw7eKChs3bmT27Dl40y/GJJ92t4H4ZNwZ7Vi0aBFLly6NTIFKVQJ5eXmUlLhJS7KpGg85OTmRLkmpmPHpp58yc+ZM7JY2ptn5916b1gY702bKlCm6L6zgNHyriCssLGTMQw9jJ1TF07BTmW289S/FVE1jwsRHyMvLC3OFSlUOp665qJ5g6FLHzeJFOTrGVKkgWLhwIZOfmQwZYC4t57ARAdPZQA0YN24ca9asCW6RKmw0fKuI8nq9jB07jqKjxyhu2Q+cZd3mC3A4cbXsR4nXx4MPjtFAoFSQHT9+nE/mzKaK0+B0GHrU9VDi9jB79uxIl6ZUhfbll18yfvx47Jo2vm6+C0teTrB6WniSPIwePZpvv/02aHWq8NHwrSLG7XYzdtw4NmzIxdW0J6ZK7bO2N4mpFDfvy+683YwefT/Hjx8PU6VKxb6XX36ZI0eOUCfZP6f+RTUsOqR5efONN/Rsk1LlNGfOHB5/4nFMHYPvCh/EB2GlSWD1trBSLB544AEWL14chJWqcNLwrSLi+PHj3Hffn1nyzRLcjbvjq938nJazqzegpHkfNny3kZF3301BQUGIK1Uq9i1btozPP/+cgY1dJMX5T4mLwNBLThKPxVNPPanzfyt1HmzbZurUqUyePBlT1+Dr4QNnEDeQCFYvC18NH2PHjuXDDz/UWVAqEA3fKuzy8/MZeffd5G7cQEmLPlh1W5/X8r7azXG1uopdu/cwfMQInYJQqQuwZMkSxj78EJmpht82LfnJezUTDbe2OkFu7gYefPCBn0xDqJQq28mTJxnz0Bjeeecd7KY2dncb4kKwoQTw9fLhq+vjhRde4Omnn/7JPP0qemn4VmH19ddfc9vvb2fX7j24Wl11zj3ep7OrZ1J88a/JP3yMYXfcwb///W896lfqPH366aeMefBBGiS5ebDDURLKCAg963kYdslJVixfzj2j/o+ioqLwF6pUBbF3717+OPyPLFmyBLuDjelkQpu0nGB3t7Evsfn8888Zdc8oCgsLQ7hBFQwavlVYlJSUMHnyZMaMGcNxO4GTbQZhV8+8oHXaKemcbDMIV0JNnnzySSZMmKDjwJU6B8XFxbz88sv87W9/o20tL2M6HqV6wpkPXvs28PCnS0+wfesWRgz/I7m5uWGsVqmKIScnh6HDhpJ3IA/fFT5MC3NuN9G5UAKmrcHX1cemzZsYOmwoq1evDsOGVXlp+FYht2nTJoYOG8acOXPw1GtHcevfYJJrBGXdJjEF18W/wtOwMwsW5nDbbb9n1apVQVm3UrHGGMPcuXO55eabeP/997mygZv7LjtO0jmMRe2Y7uXBDkdxHd7PyJEjefTRR8nPzw990UpFObfbzXPPPcfYsWNxJbmwrrQgIwKFNASrr0WRVcS9997LW2+9hc/ni0Ah6udILJ+qz8rKMitXrox0GZXW0aNHef311/nk00+RhCoUN+2FXb3BOS2b9N2nAJS0vvqct+c4kU/y9oXgOsqVV17JyJEjSU9PL0/pSsWczZs388Lfnyd3w0aaVrO5tdUJWtX47x3zYytTAHg460SZ6ynxwSc7kvh8dzJx8Ync+r//y5AhQ0hMTAxp/UpFo7y8PMaNH8e2rduwW9mYduUfZuJY6F/Q7mNfWFEWyGrBscvBZe0vY/y48aSlpV3YOtU5EZFVxpisn22n4VsFm23bfPbZZ0yZ8ionTp7Am9EGT4OO4Ew453WUJ3z7N24Rv289iQfWkxDvZOjtt3P99dfjdAbzMnOlKgZjDGvXrmXWrFksXryI1AQY0uwkvep7cJzhdPjPhe9TDhU7eG9LMivzE6iTnsZvB1/L1VdfTfXq1c+6nFKxwBjDF198wbPPPYvHeLCyLKh/YesMWvgOkJ1C3Jo4qiZX5aExD9GjR4+grFedmYZvNHxHQm5uLn9/4QV+2LwZu1o9Shp3w1Spdd7rKXf4DpCSYyTuXkbckd00bNSIe0aNokuXLuVal1IVjcvlIjs7m49mfciOnbtISYC+9V1c3dhN1fizf+efa/g+ZUOhk9k7k9l0xElCfDz9Bwxg8ODBtGrV6oL/H0pFo+PHj/PMM88wf/58SAdfFx9UufD1Bjt8A3AMnMudmCOG3/72t9x11116liqENHyj4Tuc8vLyeO2111i0aBGSUAVXwy7+mUykfFebXGj4PiXuyG6Sdi+DkmN0ysrirhEjaNmy5QWtU6lolZeXx+zZs/ns0084WeyiSTWbAZkuumV4ypzJpCznG75/3PYJB3PzkvjmQBJun6Fd2zYMvvY6rrjiChISzv2sl1LRLDc3lwkTJ5Cfn4/dxsZcHLyLKkMSvgF8IBsExw8OGjdpzITxE2jevHwzjamz0/CNhu9wOHLkCG+//Taz58zB4MBdtx3eeu0g7sJu4xWs8A2A7cN5cBNJ+9diLDe/uOoq7rjjDjIyInFFjFLBlZ+fz/z585n31Vy+3/wDcQKd63i4qmEJLav7zvv4t7zh+5STXmHRvgS+2pvMwWKhapVkevfpS79+/ejQoYMOAVMVkm3bvPfee7zxxhuYKgariwVnvynzeQtZ+D7lADhXOnFaTu69914GDhyIlLODTJVNwzcavkOppKSEDz74gHf+9S9KSkrwpl+EJ7MjxAfh3BtBDt+nWG7i960j8eBG4uIcDLn+em655RZSUlKCtw2lwqCoqIicnBy+mjuX9bm5GGNoUs2ma50SetTzUDOx/N/rFxq+T7EN5BY6WXowgVX5SbgsQ83q1ehzZT/69etH27ZtcTh0wi0V/Y4ePcpjjz/Gt8u+xc60MVkmOLeJP03IwzdACcQtj4ODMGDAAP785z9TpUpw9ttKwzeg4TsUfD4f2dnZvPb6VA4XFmDVbISnYZegTR14SkjCd4C4j5OQtwpn4VZSUqsxbOjtDBo0SHvkVFQ7duwY33zzDfPmzWPlypXYtk39FEO3OiV0zfBQr2pwdtjBCt+leXywrjCepQcSWFOYgNcHddJrc2W/AfTp04dLLrlEe+BUVMrNzWXc+HEcPnwYX3sfplno5u4OS/gGMCCbBMdGB5kNM3ns0cdo1qxZaLdZSWj4RsN3sK1cuZKXXn6F7du2YlLSKWnYBbtavZBsK5Th+xTHyQISdy/HcWwf9Rs04K4RI7jiiis0BKioUVBQwNdff01OzkLWrFmLbdukV4GudVx0y/DSMOX8h5X8nFCE79JcFqzOT2DZwQTWH47HZ0N6Wm169e5D7969adeuHXFxobgXt1Ln58svv+Spp57CTraxulpQM7TbC1v4PuWQ/2LMBJPAo488SteuXcOz3Rim4RsN38Fy4MABnnv+eZYuWQJJqZQ0yMJXu1m5L6Y8F+EI3wAYQ1xRHkl7VkDxEdpdein3jx5NkyZNQrtdpc5g3759LF68mJyFC9j43SaMMdSrashKL6FzHS9NU4MfuEsLdfgu7aRXWFMQz4pD8aw/nIjXZ6hRvRo9r+hFr1696Nixo16sqcLOGMM///lP3nzzTagDvm4+CMOfYdjDN4ALnN84kaPCfffdxzXXXBO+bccgDd9o+L5QPp+PWbNmMXXqG3gsH+767fHWbQOO0A/PCFv4PsXYOA9tJmnvShy2xa233sott9yiO34VFvv372fevHksmD+PLVu3AdCkmk1WmpvOdTzUr2qHNHCXFs7wXVqJD9YXxLPiUAJrCxNxWYYqycn06NmT/v3707lzZx0apkLOsiwmTZrEv//9b+zGgfHdYbo0ISLhG8ACxzIHsl+4+eab+cMf/qDXY5TTuYZv/SZTZfrhhx94+um/sWXLD/hqNMTdpDsmMTXSZYWOOLAyLuFErSYk7lrG22+/zdyv5vHXv9xP+/btI12dikFFRUUsWLCAr+Zmk7thIwAtqvu4qaWbrHQvdaqEeQccYUlx0CXDS5cML177JBsPO1lxyM2SnK+YO3cu1VJT6HtlP/r370+7du00HKigM8bw1FNPkZ2djd3axrQO3fjuqOIEu7uNrBHeffddjDEMHz480lXFNA3f6r/MmjWLF198EeNMoqTFlfhqNQ3pEJOoEp+Mu0VfrLQW7N21hFGjRnHbbbcxdOhQHQuuLlhxcTFff/01c+dms2KF/6LJzBTDkOYldK3roU5y5QrcZxLvgPZpFu3TLG63i8ktjGfJAQ9ffDaH2bNnUyc9jX79BzBgwACaN2+un00VFNOmTfMH7zaB4F2ZOMB0NNj4p1TMzMzk6qvDdOa5EtLwrX5k2zavvPIKM2fOxKrZGHezXuCsnHfC8tVoyMnUwSTsWsq0adPYv38/f/3rX4mPD8H8Uirm5efn89577/HpJ3Nwe7ykJcPARi661/XQMEUD99k4HdAh3UuHdC8l1klWF8Sz5ICXmTOmM336dFq2aM5tv7+dnj17am+4Kre5c+fy1ltv+YeaXFLJgvcpAqaDgWKY/Mxk6tWrR6dOnSJdVUzS8K0AcLvdPPLooyxetAhvRhs8jS8HqeQ7srh4PE2vwCSmkp2dzaFD+Tz++GOkpsbw8BsVVPn5+bz77rt88skcbMuiR103fRq4aVHdh0M7a89bkhO61/XSva6X4x7h20PxfJm3lYcffpjmzZpy2+9vp1evXhrC1XkpLCzkqaefgnT8Y7wr82fTAb6uPmSBMH7CeD6Y+QHJycmRrirmRM03lIj8UkQ2i8hWEXmgjPcTReT9wPvfikiT8FcZuyZNmsTiRYtxN+qKp0k3Dd6niOBt0IGS5r1Zu34dY8eNI5YvUlbBkZ+fz3PPPccNvxvC7I8/okf6SSZ1P8qdbYppVUODdzCkJhj6Z3p4umsRI9qcpPjgdsaNG8fQ23/PwoUL9XOqztnMmTPxer34snxRlIoiKB6sjhbHjh7j008/jXQ1MSkq/sxEJA54GfgV0Bq4UURan9ZsGHDEGNMCeA54OrxVxq7NmzeTnZ2Np96lWPXaRrqcqORLa4m7YRdWr1rF8uXLI12OimIFBQXcMfR25vy/j+mZUczk7ke5o3WxjucOEYdAj3r+EH5X2xO4Du1g3Lhx/OMf/4h0aaoCOH78OB99/BF2pg16s+P/SAPS4d333sXr9Ua6mpgTFeEb6AJsNcZsN8Z4gBnAoNPaDAKmBR5/CPQTvcomKKa8+ioSn4S3/mWRLiWqWXUugaRqvPLKFHw+X6TLUVHItm0ef+wxik8e59Euxxh2STHpGrrDwiH+ISlPdy2iZz0306a9zZo1ayJdlopyCxcuxF3ixlykZ0pO52vl43DhYXTK5uCLlvDdAMgr9XxP4LUy2xhjLOAoUDss1cWwgwcPsnrVKtwZbcCpc1qflSMOd73L2LFjO5s3b450NSoKTZ8+nVWrV3NryxM0StUDtEhwCPz+omLqVjE8+shEjh49GumSVBT78e+jWmTriEqB34l+hoIvWsJ3WT3Ypx+GnksbROROEVkpIivz8/ODUlwsq169eqRLKJNdtTZ21eg9tqpRo0akS1BRaMH8+VSJN3TN8ES6lHJrnOqjcQU/cEhyQs+6JRQUHmbDhg2RLkdFMZfL5U8XUZCGTA2DqRFFPfCBKTlcLldk64hBUfDnBvh7uhuWep4J7DtTGxFxAtWBw6evyBjzujEmyxiTlZ6eHqJyY0dSUhK1atdGSo5FupSf8DTuhqdxt0iX8V+k5ChxcU7q1KkT6VJUFBp59924LOGdH6pEupRyu/UiF7deVLF3tntPOpi9swqdOnWkW7fo+x5R0cOyLH/4joLjTdPeYNpHUfgOjJjTYZbBFy3hewXQUkSaikgCcAMw57Q2c4DbAo+vA+YbvZw9KFq1bEnC0d1RF8CjjtdF4pHtNGnaVG9zrcrUoUMHbrnlVnL2JfLJzkS8Otw77PJOOHgxN5Xkqik89NDDOu2gOqtu3bqBDbJHLyE7nezy/066du0a4UpiT1R8KwXGcN8NfAlsAmYaYzaKyCMick2g2ZtAbRHZCtwH/Nd0hKp87rnnHqokxlNl61fg06uay2TbJG+dj9P28MBf/xLpalQUu/322+l6eRfe31qFPy+pydw8DeHhkHfCwQvrq/Lgsuoc9lXh4bHjSEtLi3RZKspddtll1G9QH8eOqIhD0cNA3K44Lmt/GZmZmZGuJuZILHceZ2VlGb1K99ysWLGC0aNH463RCHeLK8ERF+mSooexSdi5hPhD3zN27FgGDBgQ6YpUlDPGsHr1at56601yczdQKwl+07iYPg3cxOs+PqjyTjj4eHsyyw8lUCU5ieuuH8KQIUOoVk2voFPnZvr06UyZMgVfDx/Uj3Q10UG2C45VDh5++GGuuuqqSJdTYYjIKmNM1s+20/CtTpk5cyYvvfQSJiUdV/O+mCTdeYmnmMTtOcQd3ctNN93E8OHDI12SqkBOD+E1kqB7RgndMzw0TvWhk6WWT7EFqw4lsORgArmF8Rq61QVxu92MuGsE23Ztw+pn6Xzfh8G5wEmnjp2YNGkScXHaGXeuNHyj4bs8cnJyeOLJpyjxeHE16YmvdrNIlxQxjqN7qbI9BycW9/7pTwwcOBCdWl6Vx6kQ/sEHH/Dtt8vw+Wzqpxi61SmhW10PdavouJSf47VhXUE8Sw4ksKYwEa/PUK9uBr/81a+59tprNXSrC7J//36G3TGMk3EnsfpaP870Uem4wTnPSVrVNN56862onREtWmn4RsN3ee3bt4/xEyaw+fvv8aZfhKdRZ3AmRbqs8PF5id+7hoT9uTRq1IhHHplIs2aV9yBEBdfRo0fJycnhq7nZrF23HoDm1X10y3BzeYaHmomx+518vmwDm444WXIggRX5SRR7DTWqV+PKfv0ZMGAArVu31gNiFTTLly/n/vvvx6QbfN19EB/pisKsBJxfO4k7EccrL7/CxRdfHOmKKhwN32j4vhBer5c33niDGTNmgDORkswsrPRWIDE8YNUY4g5vJzlvBcZ9goEDBzJq1CiSk5MjXZmKUQcPHmT+/Pl8NTebLVu3IUDLGj46p7vJquOtlHfHtGzYeNjJyvwEVhUkcswNyUmJ9OrdhwEDBtCxY0edbUiFTHZ2Nk88+QSmmsHqaUFl6Xc64Q/e8Z54Hn/scS6//PJIV1QhafhGw3cwbN26leeff57169djqqZR0rgbdmpGpMsKOikuJGnXMhzH9tO8RQvuu/de2rVrF+myVCWyc+dOFi5cSM7CBWzbvgOAJtVsOqe76VzHQ/2qsRvE3T5YXxjPikPxrC3093AnJyXSrXsPevfuTffu3UlMTIx0maqSWLp0KQ+PfRgr0cK6woKqka4oxIr8wbuqsyqTJ02mdevWka6owtLwjYbvYDHGMH/+fF586SUOFxZi1W6Op2EWJjE10qVdOG8xCXvWEJ//PSkpqQz/450MHDhQLzBREbV3714WLVrEopwcNn73HQD1Uwyd00rokuGlUUrFv1jTZcGagnhWHExg3eFEPD5DtdQUel7Ri969e9OxY0cN3CpicnNzuf8v9+OyXFhdLKgb6YpCQ3YLcaviqFWjFs89+xxNmjSJdEkVmoZvNHwHm8vl4l//+hczZryP5fPhqXMJngbtK+Z4cJ+X+P25JB7IRbD5n0GDGDp0qF60paJOfn4+ixcvZlFODmvXrcO2/3OxZtcMD/UqUI+4xwfrCuNZWuqiydq1atKrdx969+7NpZdeqkNKVNTIy8tjzENj2LVzF3YbG3OJ8d8NMxbYIOsEx1YHbdq24ZGJj6B3Bb9wGr7R8B0qhw4d4s033+SLL74AZwLuupfirdsGHBVgp2nbOPO/J2nfWoynmN69e3PnnXfSsGHDSFem1M8qKioiJyeHeV/NZd36XIwxNKlm07VOCV0zvKRF4Rhxy4YNh50sO5DAqoIkXJahZvVq9O3XnyuvvJK2bdvqXShV1HK5XDzzzDNkZ2dDXfB18UFFPyFTDHHL4qAQhgwZwvDhw/WgN0g0fKPhO9S2b9/Oq6++yrJly5CkFFwNOuGr3YKoPB9uDHFFu0nKWwGuItq1u5S77hpBmzZtIl2ZUuWSn5/PggULmPfVXDZ9vxnwX6zZu55/+sLECI+c2n08jnl7Evk2P4kTHkNK1Sr07tOXfv360b59e93ZqwrDGMOcOXN4/u/PYyfYWJ0tqBPpqsppDzhXO0l0JDLmwTH06dMn0hXFFA3faPgOlzVr1vDSSy+zZcsPmJR0Shpdjp0aPQPkHCcLSdj9LXHH9tEgsyEj7xpBjx49dIoyFTP27dvH/Pnzyf7yC3bu2k3VBKFPPRf9Mt3UCWNvuGXDqvx45u5J4vsjThLi47miVy/69+9P586dSUhICFstSgXb5s2bmTBxAnv37MW+2Ma0MVBRTtpYgWEm2x20bNWSCeMn6BnfENDwjYbvcLJtm+zsbKa8+hpHDhdi1WqKp2HniN4lUzzFxO9ZSXz+FlJSUhg2bCiDBg3SHjcVs4wxrFu3jlmzZrF48WKMbdM+zctVDUtoW8sK2Umpox5hwZ5E5u9L5nAJ1M2ow28HX8vAgQP1OgoVU1wuFy+88AKfffYZ1ALf5b7ovyNmETi/dWKOG2668SaGDRtGfHxlm8Q8PDR8o+E7ElwuFzNmzODd997D47Xw1G+Pt96l4AjjOXBj4zy4iaS9K3EYm2uvvZbbbruN1NQYmJ1FqXN06NAhZs+ezSdzZlN09BgNUgw3tTjBZWlW0LZxwit8tD2J+XuTsGzonJXF4GuvpWvXrjpjkIppCxYs4Om/PY3L48LX0YdpFIVZyoBsFeLWx1GjRg3GjR1Hp06dIl1VTNPwjYbvSMrPz+ell15mwYL5UKUmriY9wzI/uBQfJnnH18iJQ3Tu3Jl7772XzMzMkG9XqWjl8XhYsGAB097+B3v27qNDmpebWxVf0C3tbQPz9yYwa3sKJ70w8OqrGTJkCI0bNw5i5UpFt4MHDzJh4gQ2btiI3cTGdDDRc1t6NzhWOJD9QtduXRnz4Bhq1KgR6apinoZvNHxHg6VLlzJp0mQKCgrwZlyCJzMLnCEY92lbxO9dS8L+9aSmpnDPqFEMGDBAx3UrFeD1evnwww95+x9v4fG4+VXDEvo2cOM4z4/IgWIH07dWZfdxB+3bX8Y99/yJ5s2bh6ZopaKcZVlMmzaNf/7zn5AC1uUW1IxwUfngXO7E4XFw14i7uO6663RfGCYavtHwHS2Ki4uZOnUqsz76CJJSKW7RD1OldtDWLyXHSN46DzlZyC9+8QtGjhypR/hKnUFhYSGvvfaaf6rQcspIT2Pk/42id+/eulNXCv/EAxMfmciRoiP+YShNIpCtDMgPgiPXQYMGDZg4YSKtWrUKfx2VmIZvNHxHm/Xr1zN23HiKjh7F1aQHvrSWF7zOuKI8krfnkJwQx7ixY+nevXsQKlUq9v3www9s27btvJdLSEigZ8+eevdJpU5TVFTEhAkTWL16NXQtHI8AAAxwSURBVHZzG9M+jLOhWCArBMceB3369OGBBx6gSpUqYdq4OkXDNxq+o1FhYSHjx49n/fr1eDNa42l0efkuxjSG+L2rSdi7lmbNm/PE449Rv3794BeslFJKnSPLspg6dSrTp0+H2uDr5oPkEG/0ODiXOuEYDB8+nBtuuEHPSEXIuYbvijJDpYoRtWvX5vnnn+d3v/sd8Qe/I3HbArDP88IvY0jY+Q0Je9fwy1/+gtdenaLBWymlVMQ5nU5GjBjBxIkTSTyZiHOBPxSHTCE4Fzipalfl2Wef5cYbb9TgXQFo+FZh53Q6GTlyJKNGjcJ5eCeJ2xeCOccAbgwJu5YSf+h7br75Zh588EE9/a2UUiqq9O3bl1defoVq8dVwLnRCYQg2sh+ci5zUrV2XN6a+odMIViDRMimOqoSuu+46vF4vU6ZMAdvGV+3ne68dxQXE5//AkCFDuPPOO/UIXymlVFRq2bIlr736Gvfedy8HFh3A6mpBveCsW3YKjpUOWrRsweRJk6lZM9JTrKjzoeFbRdSNN96I1+vlzTffxHlk5zktM3jwYEaOHKnBWymlVFSrX78+r055ldH3j2brkq1YPSyoe2HrlF2CY4WDjp068sTjT+iFlRWQXnCposKJEyewrJ+/815cXJzeqVIppVSFcvz4ce7+v7vZuXsnVm8LapVzRfshbkkc7S9rz6S/TdJhl1FGZztBw7dSSimlokNBQQEj7hrBoSOHsPpYUO08V1DoH+PdrEkzXnrxJapWrRqSOlX56WwnSimllFJRIi0tjWefeZbU5FScS5zw8yd7/6PEP51gRnoGz0x+RoN3BafhWymllFIqDBo2bMjE8RPhBMjac7xuyYBjpYM4K44nn3iSWrXKO2ZFRQsN30oppZRSYdKpUyduuukmHDscyA8CBzjrP9koyH5h5F0jad68eQQrV8Gis50opZRSSoXRsGHDWLlqJZvXbT6n9l27dWXw4MEhrkqFi4ZvpZRSSqkwcjqdvPTiS2zZsuVn2zocDlq1aqXT68YQDd9KKaWUUmGWmJhI27ZtI12GigAd862UUkoppVSYRDx8i0gtEZkrIlsCP8u8R6qI+ERkbeDfnHDXqZRSSiml1IWKePgGHgDmGWNaAvMCz8viMsa0D/y7JnzlKaWUUkopFRzREL4HAdMCj6cB/xPBWpRSSimllAqZaAjfGcaY/QCBn3XO0C5JRFaKyDIR0YCulFJKKaUqnLDMdiIiXwF1y3jrofNYTSNjzD4RaQbMF5FcY8y2MrZ1J3AnQKNGjcpVr1JKKaWUUqEQlvBtjOl/pvdE5KCI1DPG7BeResChM6xjX+DndhFZCHQA/it8G2NeB14HyMrKMkEoXymllFJKqaCIhmEnc4DbAo9vA2af3kBEaopIYuBxGtAD+C5sFSqllFJKKRUE0RC+nwIGiMgWYEDgOSKSJSJvBNpcAqwUkXXAAuApY4yGb6WUUkopVaFE/A6XxphCoF8Zr68E7gg8XgK0C3NpSimllFJKBVU09HwrpZRSSilVKWj4VkoppZRSKkzEmNidEERE8oFdka5DlVsaUBDpIpSqhPSzp1Rk6GevYmtsjEn/uUYxHb5VxSYiK40xWZGuQ6nKRj97SkWGfvYqBx12opRSSimlVJho+FZKKaWUUipMNHyraPZ6pAtQqpLSz55SkaGfvUpAx3wrpZRSSikVJtrzrZRSSimlVJho+FZRSUQWikhW4PHnIlIj0jUpFUtE5ESka1CqshCRJiKyoYzXHxGR/j+z7AQRGR266lS4Rfz28kr9HGPMryNdg1JKKRVsxphxka5BhZ/2fKugCRzZfy8ib4jIBhF5V0T6i8g3IrJFRLqISFUReUtEVojIGhEZFFg2WURmiMh6EXkfSC613p0iknZ6z4GIjBaRCYHHC0XkORFZJCKbRKSziHwU2O5j4f5dKFVRiN+kwGc2V0R+F3j9FRG5JvD4YxF5K/B4mH6mlCqXOBGZKiIbRSQ7sN97W0SuAxCRXwf2oV+LyAsi8mmpZVsH9nPbRWRUhOpXQaI93yrYWgDXA3cCK4CbgJ7ANcAY4DtgvjFmaGAoyXIR+Qr4I1BsjLlURC4FVpdj2x5jTC8RuQeYDXQCDgPbROQ5Y0zhhf7nlIpBg4H2wGX47663QkQWAYuAK4A5QAOgXqB9T2BGBOpUqqJrCdxojPmDiMwErj31hogkAa8BvYwxO0Rk+mnLXgz0BVKBzSIyxRjjDVfhKri051sF2w5jTK4xxgY2AvOMf0qdXKAJcBXwgIisBRYCSUAjoBfwLwBjzHpgfTm2PSfwMxfYaIzZb4xxA9uBhuX+HykV23oC040xPmPMQSAH6AwsBq4Qkdb4D5oPikg9oBuwJGLVKlVx7TDGrA08XoV/n3jKxcB2Y8yOwPPTw/dnxhi3MaYAOARkhLRSFVLa862CzV3qsV3quY3/780HXGuM2Vx6IREB+Ll5Ly1+esCYdIZtl95u6W0rpf6blPWiMWaviNQEfom/F7wWMAQ4YYw5Hsb6lIoVpfdLPkoNr+QMn8OzLKv7tApMe75VuH0J/J8E0raIdAi8vgi4OfBaW+DSMpY9CNQRkdoikghcHYZ6lYp1i4DfiUiciKTjPwu1PPDeUuBPgTaLgdGBn0qp4PoeaCYiTQLPfxe5UlSo6ZGTCrdHgeeB9YEAvhN/iJ4C/ENE1gNr+c/O/0fGGK+IPAJ8C+zA/2WllLowH+MfSrIO/9mnvxhjDgTeWwxcZYzZKiK78Pd+a/hWKsiMMS4RuQv4QkQKKGMfqGKH3uFSKaWUUirCRCTFGHMi0DH1MrDFGPNcpOtSwafDTpRSSimlIu8PgckINgLV8c9+omKQ9nwrpZRSSikVJtrzrZRSSimlVJho+FZKKaWUUipMNHwrpZRSSikVJhq+lVIqQkRko4j0iXQdF0pEfi8iX4d4G01ExIiITpGrlKrQNHwrpVSEGGPaGGMWnktbEdkpIv1DXNKZtm1EpEUktq2UUrFGw7dSSsU48dPve6WUigL6ZayUUhFSujdbRCaIyEwR+aeIHA8MSckKvPcO0Aj4REROiMhfAq93FZElIlIkIutKD2ERkYUi8riIfAMU4791dXUReVNE9ovIXhF5TETiAu1biEiOiBwVkQIReT/w+qLAKtcFtv2zt70WkYtFZK6IHBaRzSIypFS9B05tM/DabwN3tkVEHCLygIhsE5HCwO+j1oX+npVSKppo+FZKqehxDTADqAHMAV4CMMbcCuwGfmOMSTHG/E1EGgCfAY/hv+37aGCWiKSXWt+twJ1AKrALmAZYQAugA3AVcEeg7aNANlATyAReDGy7V+D9ywLbfv9s/wERqQrMBd4D6gA3Aq+ISBtjzDLgJHBlqUVuCrQFGAX8D9AbqA8cwX+nP6WUihkavpVSKnp8bYz53BjjA94BLjtL21uAzwPtbWPMXGAl8OtSbd42xmw0xlj4A/qvgD8ZY04aYw4BzwE3BNp6gcZAfWNMiTGmvBdQXg3sNMb8wxhjGWNWA7OA6wLvT8cfyBGR1EC90wPv/RF4yBizxxjjBiYA1+lFlkqpWKLhWymloseBUo+LgaSzBM/GwPWBISdFIlIE9ATqlWqTd1r7eGB/qfav4e+dBvgLIMDywJCXoeX8PzQGLj+trpuBuoH33wMGi0giMBhYbYzZVWrZj0sttwnwARnlrEUppaKO9iYopVTFYE57nge8Y4z5wzkukwe4gbRAT/hPGxpzAPgDgIj0BL4SkUXGmK3nWWcekGOMGVBmQcZ8JyK78PfClx5ycmrZocaYb05fTkSanGcdSikVlbTnWymlKoaDQLNSz/8F/EZEfiEicSKSJCJ9RCSzrIWNMfvxj+l+RkSqBS5ubC4ivQFE5PpSyx7BH9x9Z9j22XwKtBKRW0UkPvCvs4hcUqrNe/jHd/cCPij1+qvA4yLSOFBTuogMOsftKqVUhaDhWymlKoYngYcDQzJGG2PygEHAGCAff6/x/Zz9e/1/gQTgO/wB+0P+M0ylM/CtiJzAf7HnPcaYHYH3JgDTAtsecrYijTHH8V/IeQOwD/9QmqeBxFLNpgN9gPnGmIJSr/89sO1sETkOLAMuP9v2lFKqohFjTj+TqZRSSimllAoF7flWSimllFIqTDR8K6WUUkopFSYavpVSSimllAoTDd9KKaWUUkqFiYZvpZRSSimlwkTDt1JKKaWUUmGi4VsppZRSSqkw0fCtlFJKKaVUmGj4VkoppZRSKkz+P4ze7AW8tXBLAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f17b9ef6a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#卧室数量大于3的记为3\n",
    "train['bedrooms'].loc[train['bedrooms']>3]=3\n",
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "sns.violinplot(x = 'interest_level',y = 'bedrooms',data= train,alpha=0.8)\n",
    "plt.xlabel(\"interest level\",fontsize = 12)\n",
    "plt.ylabel(\"bedrooms\",fontsize=12)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不同的兴趣程度上，卧室数量的分布差别不大，只有一个卧室的兴趣程度略低"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e060c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#价格分布\n",
    "plt.figure(figsize=(10,5))\n",
    "plt.scatter(range(train.shape[0]),np.sort(train.price.values))\n",
    "plt.xlabel('index',fontsize=12)\n",
    "plt.ylabel('price',fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "看到有几个价格格外的高，视为异常值，我们把它们移除掉，然后再绘制分布直方图。100000以上的为离群点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11edc20f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#99%分位数\n",
    "ulimit = np.percentile(train.price.values,99)\n",
    "train['price'].loc[train['price']>ulimit]=ulimit\n",
    "plt.figure(figsize=(10,5))\n",
    "sns.distplot(train.price.values,bins=50,kde=True)\n",
    "plt.xlabel('price',fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分布有点右偏"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#地理位置的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\ipykernel_launcher.py:4: DeprecationWarning: \n",
      ".ix is deprecated. Please use\n",
      ".loc for label based indexing or\n",
      ".iloc for positional indexing\n",
      "\n",
      "See the documentation here:\n",
      "http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated\n",
      "  after removing the cwd from sys.path.\n",
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n",
      "D:\\anaconda\\lib\\site-packages\\ipykernel_launcher.py:5: DeprecationWarning: \n",
      ".ix is deprecated. Please use\n",
      ".loc for label based indexing or\n",
      ".iloc for positional indexing\n",
      "\n",
      "See the documentation here:\n",
      "http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated\n",
      "  \"\"\"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f17ace59e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#看看纬度分布\n",
    "llimit = np.percentile(train.latitude.values, 1)\n",
    "ulimit = np.percentile(train.latitude.values, 99)\n",
    "train['latitude'].ix[train['latitude']<llimit] = llimit\n",
    "train['latitude'].ix[train['latitude']>ulimit] = ulimit\n",
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "sns.distplot(train.latitude.values, bins=50, kde=True)\n",
    "plt.xlabel('latitude', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "纬度基本上介于40.6到40.9的范围内"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\ipykernel_launcher.py:3: DeprecationWarning: \n",
      ".ix is deprecated. Please use\n",
      ".loc for label based indexing or\n",
      ".iloc for positional indexing\n",
      "\n",
      "See the documentation here:\n",
      "http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f17ac83390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "llimit = np.percentile(train.longitude.values, 1)\n",
    "ulimit = np.percentile(train.longitude.values, 99)\n",
    "train['longitude'].ix[train['longitude']<llimit] = llimit\n",
    "train['longitude'].ix[train['longitude']>ulimit] = ulimit\n",
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "sns.distplot(train.longitude.values, bins=50, kde=True)\n",
    "plt.xlabel('longitude', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经度集中在-73.85~-74.02度之间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e062208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#测试集数据的时间分布\n",
    "train[\"created\"] = pd.to_datetime(train[\"created\"])\n",
    "train[\"date_created\"] = train[\"created\"].dt.date\n",
    "cnt_srs = train['date_created'].value_counts()\n",
    "\n",
    "\n",
    "plt.figure(figsize=(12,4))\n",
    "ax = plt.subplot(111)\n",
    "ax.bar(cnt_srs.index, cnt_srs.values, alpha=0.8)\n",
    "ax.xaxis_date()\n",
    "plt.xticks(rotation='vertical')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "训练集的时间分布在2016年4月到10月"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11db44c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "test['created']=pd.to_datetime(test['created'])\n",
    "test['date_created']=test['created'].dt.date\n",
    "cnt_srs = test['date_created'].value_counts()\n",
    "\n",
    "plt.figure(figsize=(12,6))\n",
    "ax = plt.subplot(111)\n",
    "ax.bar(cnt_srs.index,cnt_srs.values,alpha=0.8)\n",
    "ax.xaxis_date()\n",
    "plt.xticks(rotation='vertical')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "测试集的时间和训练集基本一致"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11edc7ef0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#不同时刻的分布\n",
    "train['hour_created'] = train['created'].dt.hour\n",
    "cnt_srs = train['hour_created'].value_counts()\n",
    "\n",
    "plt.figure(figsize=(14,7))\n",
    "sns.barplot(cnt_srs.index,cnt_srs.values,alpha=0.8)\n",
    "plt.xticks(rotation='vertical')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1-7点数据量最多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Display_address that appear less than 2 times: 0.0%\n",
      "Display_address that appear less than 10 times: 0.0%\n",
      "Display_address that appear less than 50 times: 0.0%\n",
      "Display_address that appear less than 100 times: 8.33%\n",
      "Display_address that appear less than 500 times: 54.17%\n"
     ]
    }
   ],
   "source": [
    "nt_srs = train.groupby('display_address')['display_address'].count()\n",
    "\n",
    "for i in [2, 10, 50, 100, 500]:\n",
    "    print('Display_address that appear less than {} times: {}%'.format(i, round((cnt_srs < i).mean() * 100, 2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e1812b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,6))\n",
    "plt.hist(cnt_srs.values,bins=30,log=True,alpha=0.9)\n",
    "plt.xlabel('Number of times display_adress appeared',fontsize=12)\n",
    "plt.ylabel('log(Count)',fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e03ab70>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train[\"num_photos\"] = train[\"photos\"].apply(len)\n",
    "cnt_srs = train['num_photos'].value_counts()\n",
    "\n",
    "plt.figure(figsize=(14,7))\n",
    "sns.barplot(x=cnt_srs.index,y=cnt_srs.values,alpha=0.8)\n",
    "plt.xlabel(\"number of photos\",fontsize=14)\n",
    "plt.ylabel('number of occurrences',fontsize=14)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大多数样例的照片数量集中在0~10张"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2AAAAGwCAYAAADPMwaiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XmcXNV95/3PvXWrqruq971b3WhDAgkJJCS0giQwILE6Bj8ex06CZxzjeJw4zyuzPPM8mdfEk8kE7EnimNjO2HiSOLYDtjG2MRgvYMAIIZBAArQgqbW2pN67q7v2qnvvef6oViOFTUt1tdT6vl+vw63uruUUkvrW955zfscyxiAiIiIiIiITz57sDoiIiIiIiFwsFMBERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRJzJ7sD5rqGhwcyYMWOyuyEiIiIiIuepV155ZcAY03g691UAex8zZsxg69atk90NERERERE5T1mWdfh076spiCIiIiIiIiWiACYiIiIiIlIiCmAiIiIiIiIlogAmIiIiIiJSIgpgIiIiIiIiJaIAJiIiIiIiUiIKYCIiIiIiIiWiACYiIiIiIlIiCmAiIiIiIiIlogAmIiIiIiJSIgpgIiIiIiIiJaIAJiIiIiIiUiIKYCIiIiIiIiWiACYiIiIiIlIiCmAiIiIiIiIlogAmIiIiIiJSIgpgIiIiIiIiJaIAJiIiIiIiUiIKYCIiIiIiIiWiACYiIiIiIlIiCmAiIiIiIiIl4kx2B0REZGoyxnDgwAG2bNlCMplkxowZzJ49m/b2dhxHpx8REbk46QwoIiJFE4vF2LJlC1u2bOGll15meHio8APLAmMAcByHjkumc+nsWcyaNYulS5dy2WWXTWKvRURESscyYydEeWdLly41W7dunexuiIict7LZLD/5yU/4+S9+Qee+fQBYwTLylW141dPwqtsxwTLsdAwrPYSdGsZODRHMxjCZBADr1q3j3nvvpb29fTLfioiIyFmxLOsVY8zS07mvRsBERM4zyWSSnTt38sYbb/D6629wvLub2bNmMnfu3PHW2NiIZVmT2k/XdXnyySf5h3/8RwYHBvArmnDbl+BVt+NH68E6dZmx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B05+AFZ2FDs1XJhGmRrCGTlC0HH46L/5N/z2b/+21nmJiMgFRwGsiBTARETen+/77Nu3jy1btvDSyy+z44038DwPK+DgVrbgByM46WHsdAzj5QGwLIvmlhaWXXMN99xzD42NjZP8LkRERM6OAlgRKYCJiJy5VCrF9u3b2bJlC5tfeol4PMHs2bOYPWsWs8bazJkzKS8vn+yuioiInDMFsCJSABMRERERkfdyJgFMpaVERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESsSZ7A6IiMjUZYxh586ddHV1sWDBAtrb27Esa7K7JSIiMmkUwEREpOhGR0f5xS9+wU8fe4xDhw+Pf7++robFVy9l0aJFLF68WIFMREQuOgpgIiJSFMYYtm/fzk9/+lOee+5Z8nmXWdU+n5yX5tJql30xh93DObZufIqnnnoKgPq6WtasXcenP/1pIpHIJL8DERGRiacAJiIi52zjxo38/Ve/StexY0SCFuua06yblmN6pTd+n46KHDe05zAmSU/KZveww87hHD/+0Y/Y9spW/vwv/iczZsyYvDchIiJSApYxZrL7cF5bunSp2bp162R3Q0TkvOS6Lg8++CAPPfQQl1T63NKRZllzjnDg9J9jx6DD13ZVkiPM//Nf/gsf+MAHJq7DIiIiE8CyrFeMMUtP674KYO9NAUxEJpvrujjO+TdhYWBggP/++c/z2uuv84FpWX7nshTBs6ytO5Sx+LsdleyLBbjrrrv47Gc/SzAYLG6HRUREJsiZBLDz74wuInKRM8awb98+Nm/ezEubX2Tnzl10dLSzfMVKli1bxlVX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FB4XVAfkGnJRIGuJhsSnthyvpASywDWwkXhUwpnoJGNzSzOPfPoRHnjgAY4cOcLu3bsJAl1gJyIipacAJiKyRVVUVNDT00NPTw+PPvroqvsmJycZGhri4sWLDA0Ncf7CeS5evEj6fBoAqzdybTlojwNZXTlewQYJgRGwK/GEx1mnsqqST37ikzz88MM89NBD9Pf3a1RCERHZFBTARES2oebmZpqbm7n//vsL+3K5HBcvXuTs2bOcPXuW186+xtylOQCsLh4Ov9uhA9jsPfFCokrXFSPxQQJfdupT9Xz6T3yaH/qhH+K+++7TqIQiIrIp6Rqw29A1YCKyXYVhyNDQUCGQvfzKyywuLGIVRrgrxHsc7/LoGrLNwIFxsO/HoWvJqUnW8MTjT/DUU0/x4IMPUlGh84oiIlJ6GoRjAymAichOkclkOHv2LC+88AIvvPgC49fHo8E72iDsCqMwlqK0A3o40fDwV4zE+wl8wamsrORTn/oUTz31FI8++qgqXSIiUnYKYBtIAUxEdiJ359y5c7z44ot864VvMXRxCIivHevIRWGsnXvTkd2BKbAP4tA16yQSCR555BGefPJJfvAHf5Da2u06ioiIiGxFCmAbSAFMRARGR0c5ffo0p0+f5pXvvMJyehlLGGF7iHd4NMJiA1DDnVfIssAE2HXDrhvBRIBnnCAI+OT9n+SpJ5/iiSeeIJVKbfwLExER2QAKYBtIAUxEZLV0Os0bb7zB6dOneenUS1x9/2rhPqsyvN4JG8Jokuj66G+MZQ1yRGErv85EkyEzCXg03H7/3n4+ft/Hue+++3jggQdobm4u/QsUERG5QwpgG0gBTETk1q5fv87ly5cLy6VLlxi6NMTU5NRNj6moqKC6ppr9A/u57777+NjHPsaxY8dU5RIRkS1JEzGLiEjJtLW10dbWxgMPPLBq/+zsLMPDw1RUVFBTU1NYqqqqNFqhiIjsWPoLKCIi90QqlVJFS0REZI2g3A0QERERERHZKRTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESkQBTEREREREpEQUwEREREREREpEAUxERERERKREFMBERERERERKRAFMRERERESkRBTARERERERESsTcvdxt2NTM7Bpwudzt2GbagOvlboTc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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e2331d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#不同兴趣程度下照片的数量分布\n",
    "train['num_photos'].loc[train['num_photos']>12]=12\n",
    "plt.figure(figsize=(14,7))\n",
    "sns.violinplot(x='num_photos',y='interest_level',data=train,order=['low','medium','high'])\n",
    "plt.xlabel('Number of photos',fontsize=12)\n",
    "plt.ylabel(\"Interest Level\",fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不同兴趣程度下的照片多数集中在3-8张，直方图大致分布一致"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11edd9a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#一个房源都对应一个features列，它描述了该样例的特征，看看特征数量的分布：\n",
    "train['num_features'] = train['features'].apply(len)\n",
    "cnt_srs = train['num_features'].value_counts()\n",
    "\n",
    "plt.figure(figsize=(14,7))\n",
    "sns.barplot(x=cnt_srs.index,y=cnt_srs.values,alpha=0.8)\n",
    "plt.ylabel('Number of Occurrences',fontsize=12)\n",
    "plt.xlabel('Number of features',fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "描述的数量多分布在0-16"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\pandas\\core\\indexing.py:194: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  self._setitem_with_indexer(indexer, value)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f17e8f9198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#不同兴趣程度下的feature数量分布\n",
    "train['num_features'].loc[train['num_features']>17]=17\n",
    "\n",
    "plt.figure(figsize=(14,7))\n",
    "sns.violinplot(y='num_features',x='interest_level',\n",
    "               data=train,order=['low','medium','high'])\n",
    "plt.xlabel('Interest Level',fontsize=12)\n",
    "plt.ylabel('Number of features',fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "和直方图分步是一致的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# DC 数据清洗"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "去除一些离群点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "#去除price大于40000的离群点\n",
    "trainhot=train[train['price']<12000]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# FE 特征工程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数值型的数据，建立数值型特征的列表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "#列出数值型要应用的特征列表\n",
    "features_to_use = [\"bathrooms\",\"bedrooms\",\"latitude\",\"longitude\",\"price\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "#构造一些新的特征，统计出照片的数量，特征的数量，描绘词语的数量，把创建时间分开，分为年月日时。\n",
    "#照片数量(num_photos)\n",
    "# 照片数量(num_photos)\n",
    "train['num_photos']=train['photos'].apply(len)\n",
    "test['num_photos']=train['photos'].apply(len)\n",
    "\n",
    "# 特征数量\n",
    "train['num_features']=train['features'].apply(len)\n",
    "test['num_features']=test['features'].apply(len)\n",
    "\n",
    "# 描述词汇数量\n",
    "train['num_description_words'] = train['description'].apply(lambda x: len(x.split(\" \")))\n",
    "test['num_description_words'] = test['description'].apply(lambda x: len(x.split(\" \")))\n",
    "\n",
    "#把创建的时间分解为多个特征 \n",
    "train['created']=pd.to_datetime(train['created'])\n",
    "test['created']=pd.to_datetime(test['created'])\n",
    " \n",
    "#让我们从时间中分解出一些特征，比如年，月，日，时\n",
    "#年\n",
    "train['created_year'] = train['created'].dt.year\n",
    "test['created_year'] = test['created'].dt.year\n",
    "#月\n",
    "train['created_month'] = train['created'].dt.month\n",
    "test['created_month'] = test['created'].dt.month\n",
    "#日\n",
    "train['created_day'] = train['created'].dt.day\n",
    "test['created_day'] = test['created'].dt.day\n",
    "#时\n",
    "train['created_hour'] = train['created'].dt.hour\n",
    "test['created_hour'] = test['created'].dt.hour\n",
    "\n",
    "#计算发布日期 是新还是旧 训练集\n",
    "#train[\"latest\"] = (train[\"created\"]- train[\"created\"].min())\n",
    "#train[\"passed\"] = (train[\"created\"].max()- train[\"created\"]) \n",
    "\n",
    "\n",
    "\n",
    "#计算发布日期 是新还是旧 测试集\n",
    "#test[\"latest\"] = (test[\"created\"]- test[\"created\"].min())\n",
    "#test[\"passed\"] = (test[\"created\"].max()- test[\"created\"])\n",
    "\n",
    "#计算房子单价和床位单价训练集\n",
    "train[\"price_per_room\"] = train[\"price\"] / (train[\"bedrooms\"] + train[\"bathrooms\"] + 1.0)\n",
    "train[\"price_per_bed\"] = train[\"price\"] / (train[\"bedrooms\"] + 1.0)\n",
    "#计算房子单价和床位单价测试集\n",
    "test[\"price_per_room\"] = test[\"price\"] / (test[\"bedrooms\"] + test[\"bathrooms\"] + 1.0)\n",
    "test[\"price_per_bed\"] = test[\"price\"] / (test[\"bedrooms\"] + 1.0)\n",
    "#总房间数\n",
    "train[\"room_sum\"] = train[\"bedrooms\"]+train[\"bathrooms\"]\n",
    "test[\"room_sum\"] = test[\"bedrooms\"]+test[\"bathrooms\"]\n",
    "#卧室占比\n",
    "#train[\"bed_all_per\"] = train[\"bedrooms\"]/train[\"room_sum\"]\n",
    "#test[\"bed_all_per\"] = test[\"bedrooms\"]/test[\"room_sum\"]\n",
    "#把这些特征都放到所需特征列表中（上面已经创建，并加入了数值型特征） \n",
    "features_to_use.extend([\"num_photos\",\"num_features\",\"num_description_words\",\"created_year\",\"created_month\",\"created_day\",\"created_hour\",'price_per_room','price_per_bed','room_sum'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "#计算和商业中心的距离\n",
    "a=40.705628\n",
    "b=-74.010278\n",
    "train[\"distance\"]=map(lambda x,y:int(math.sqrt((x-b)**2+(y-a)**2)*111),train[\"longitude\"],train[\"latitude\"])\n",
    "test[\"distance\"]=map(lambda x,y:int(math.sqrt((x-b)**2+(y-a)**2)*111),test[\"longitude\"],test[\"latitude\"])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "#构造函数，去算经理的活跃度\n",
    "def time_long(x,y):\n",
    "    if x==4:\n",
    "        return y\n",
    "    if x==5:\n",
    "        return 30+y\n",
    "    if x==6:\n",
    "        return 30+31+y\n",
    "train[\"time\"]=map(lambda x,y:time_long(x,y),train[\"created_month\"],train[\"created_day\"])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "def time_long(x,y):\n",
    "    if x==4:\n",
    "        return y\n",
    "    if x==5:\n",
    "        return 30+y\n",
    "    if x==6:\n",
    "        return 30+31+y\n",
    "test[\"time\"]=map(lambda x,y:time_long(x,y),test[\"created_month\"],test[\"created_day\"])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "#构造函数计算经理的房子数目\n",
    "def merge_nunique(train,columns,value,cname):\n",
    "    add = pd.DataFrame(train.groupby(columns)[value].nunique()).reset_index()\n",
    "    add.columns=columns+[cname]\n",
    "    train=train.merge(add,on=columns,how=\"left\")\n",
    "    return train\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "def merge_nunique(test,columns,value,cname):\n",
    "    add = pd.DataFrame(test.groupby(columns)[value].nunique()).reset_index()\n",
    "    add.columns=columns+[cname]\n",
    "    test=test.merge(add,on=columns,how=\"left\")\n",
    "    return test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "#供求关系(这里可能需要组合一下构造，比如某街道同时满足房间数，某月某街道同时满足房间数，类似于求平均房价那里)\n",
    "#counts of these\n",
    "\n",
    "display=train[\"display_address\"].value_counts()\n",
    "manager_id=train[\"manager_id\"].value_counts()\n",
    "building_id=train[\"building_id\"].value_counts()\n",
    "street=train[\"street_address\"].value_counts()\n",
    "bedrooms=train[\"bedrooms\"].value_counts()\n",
    "bathrooms=train[\"bathrooms\"].value_counts()\n",
    "days=train[\"time\"].value_counts()\n",
    "\n",
    "train[\"display_count\"]=map(lambda x:display[x],train[\"display_address\"])\n",
    "train[\"manager_count\"]=map(lambda x:manager_id[x],train[\"manager_id\"])    #经理所发的数目\n",
    "train[\"building_count\"]=map(lambda x:building_id[x],train[\"building_id\"])\n",
    "train[\"street_count\"]=map(lambda x:street[x],train[\"street_address\"])\n",
    "train[\"bedrooms_count\"]=map(lambda x:bedrooms[x],train[\"bedrooms\"])\n",
    "train[\"bathrooms_count\"]=map(lambda x:bathrooms[x],train[\"bathrooms\"])\n",
    "train[\"day_count\"]=map(lambda x:days[x],train[\"time\"])\n",
    "\n",
    "\n",
    "#\n",
    "\n",
    "test[\"display_count\"]=map(lambda x:display[x],test[\"display_address\"])\n",
    "test[\"manager_count\"]=map(lambda x:manager_id[x],test[\"manager_id\"])    #经理所发的数目\n",
    "test[\"building_count\"]=map(lambda x:building_id[x],test[\"building_id\"])\n",
    "test[\"street_count\"]=map(lambda x:street[x],test[\"street_address\"])\n",
    "test[\"bedrooms_count\"]=map(lambda x:bedrooms[x],test[\"bedrooms\"])\n",
    "test[\"bathrooms_count\"]=map(lambda x:bathrooms[x],test[\"bathrooms\"])\n",
    "test[\"day_count\"]=map(lambda x:days[x],test[\"time\"])\n",
    "\n",
    "#经理的活跃程度\n",
    "#how many days the manager active\n",
    "train=merge_nunique(train,[\"manager_id\"],\"time\",\"manager_active\")\n",
    "test=merge_nunique(test,[\"manager_id\"],\"time\",\"manager_active\")\n",
    "#经理拥有多少个不同的房子\n",
    "#how many buildings the manager own\n",
    "train=merge_nunique(train,[\"manager_id\"],\"building_id\",\"manager_building\")\n",
    "test=merge_nunique(test,[\"manager_id\"],\"building_id\",\"manager_building\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "#加入统计经理活跃度和经理的房子数\n",
    "features_to_use.extend(['manager_active','manager_building'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "#下面处理\"display_address\",\"manager_id\",'building_id',\"street_address\"对其使用labelencoder\n",
    "categorical = [\"display_address\",\"manager_id\",'building_id',\"street_address\"]\n",
    "for f in categorical:\n",
    "    if train[f].dtype == 'object':\n",
    "        lbl = preprocessing.LabelEncoder()\n",
    "        lbl.fit(list(train[f].values)+list(test[f].values))\n",
    "        train[f] = lbl.transform(list(train[f].values))\n",
    "        test[f] = lbl.transform(list(test[f].values))\n",
    "        features_to_use.append(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    Elevator Laundry_in_Building Laundry_in_Unit D...\n",
       "1                    Pre-War Dogs_Allowed Cats_Allowed\n",
       "Name: features, dtype: object"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#把字符串的变量进行合并\n",
    "train[\"features\"] = train[\"features\"].apply(lambda x:\" \".join([\"_\".join(i.split(\" \"))for i in x]))\n",
    "train['features'].head(2)\n",
    "test['features'] = test[\"features\"].apply(lambda x: \" \".join([\"_\".join(i.split(\" \"))for i in x]))\n",
    "test['features'].head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "#计算权重\n",
    "tfidfdesc=TfidfVectorizer(min_df=20, max_features=50, strip_accents='unicode',lowercase =True,\n",
    "                        analyzer='word', token_pattern=r'\\w{16,}', ngram_range=(1, 2), use_idf=False,smooth_idf=False, \n",
    "    sublinear_tf=True, stop_words = 'english') \n",
    "tfidf = CountVectorizer(stop_words =\"english\",max_features=200)\n",
    "  \n",
    "tr_sparse = tfidf.fit_transform(train[\"features\"])\n",
    "te_sparse = tfidf.transform(test[\"features\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "#进行横向合并\n",
    "train_X = sparse.hstack([train[features_to_use],tr_sparse]).tocsr()\n",
    "test_X = sparse.hstack([test[features_to_use],te_sparse]).tocsr()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49352, 221)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将目标\n",
    "target_num_map = {'high':0 , 'medium':1 , 'low':2}\n",
    "train_y = np.array(train['interest_level'].apply(lambda x: target_num_map[x]))\n",
    "train_X.shape\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(74659, 221)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\sklearn\\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "logloss of each fold is:  [ 0.69194226  0.68244092  0.67301378  0.67481778  0.69039146]\n",
      "cv logloss is: 0.682521239156\n"
     ]
    }
   ],
   "source": [
    "#使用缺省参数进行测试\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "lr= LogisticRegression()\n",
    "from sklearn.cross_validation import cross_val_score\n",
    "loss = cross_val_score(lr, train_X, train_y, cv=5, scoring='neg_log_loss')\n",
    "print ('logloss of each fold is: ',-loss)\n",
    "print('cv logloss is:', -loss.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "用LogisticRegressionCV实现正则化的 Logistic Regression\n",
    "logistic回归的需要调整超参数有：C（正则系数，一般在log域（取log后的值）均匀设置候选参数）和正则函数penalty（L2/L1） 目标函数为：J = C* sum(logloss(f(xi), yi)) + penalty\n",
    "\n",
    "在sklearn框架下，不同学习器的参数调整步骤相同： 设置候选参数集合 调用GridSearchCV 调用fit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\sklearn\\model_selection\\_split.py:2026: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "# 训练样本6w+，交叉验证太慢，用train_test_split估计模型性能\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train_part, X_val, y_train_part, y_val = train_test_split(train_X, train_y, train_size = 0.33,random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "def fit_grid_point_LR(penalty, C, X_train, y_train, X_val, y_val):\n",
    "    \n",
    "    # 在训练集训练LR\n",
    "    LR = LogisticRegression(penalty=penalty, C=C)\n",
    "    LR.fit(X_train, y_train)\n",
    "    \n",
    "    # 在训练集和校验集上测试\n",
    "    y_train_pred = LR.predict_proba(X_train)\n",
    "    y_val_pred = LR.predict_proba(X_val)\n",
    "    logloss_val = log_loss(y_val,y_val_pred)\n",
    "    logloss_train = log_loss(y_train, y_train_pred)\n",
    "    \n",
    "    print(\"logloss on test: %f and on train: %f with C = %f and penalty = %s\"%(logloss_val, logloss_train, C, penalty) )\n",
    "    return logloss_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "logloss on test: 0.695718 and on train: 0.698058 with C = 0.001000 and penalty = l1\n",
      "logloss on test: 0.683779 and on train: 0.686553 with C = 0.001000 and penalty = l2\n",
      "logloss on test: 0.678701 and on train: 0.681147 with C = 0.010000 and penalty = l1\n",
      "logloss on test: 0.683555 and on train: 0.685605 with C = 0.010000 and penalty = l2\n",
      "logloss on test: 0.660184 and on train: 0.659412 with C = 0.100000 and penalty = l1\n",
      "logloss on test: 0.680715 and on train: 0.682523 with C = 0.100000 and penalty = l2\n",
      "logloss on test: 0.658095 and on train: 0.648935 with C = 1.000000 and penalty = l1\n",
      "logloss on test: 0.686028 and on train: 0.688797 with C = 1.000000 and penalty = l2\n",
      "logloss on test: 0.666977 and on train: 0.642867 with C = 10.000000 and penalty = l1\n",
      "logloss on test: 0.681175 and on train: 0.683482 with C = 10.000000 and penalty = l2\n",
      "logloss on test: 0.683937 and on train: 0.641939 with C = 100.000000 and penalty = l1\n",
      "logloss on test: 0.686979 and on train: 0.689477 with C = 100.000000 and penalty = l2\n",
      "logloss on test: 0.699591 and on train: 0.641874 with C = 1000.000000 and penalty = l1\n",
      "logloss on test: 0.684686 and on train: 0.687489 with C = 1000.000000 and penalty = l2\n"
     ]
    }
   ],
   "source": [
    "#需要调优的参数\n",
    "penaltys = ['l1','l2']\n",
    "Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "\n",
    "logloss_s = []\n",
    "for i, OneC in enumerate(Cs):\n",
    "    for j, onePenalty in enumerate(penaltys):\n",
    "        tmp = fit_grid_point_LR(onePenalty, OneC, X_train_part, y_train_part, X_val, y_val)\n",
    "        logloss_s.append(tmp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "C=1 L1正则下 效果最好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e2b36a0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用图表显示出曲线\n",
    "logloss_s1 =np.array(logloss_s).reshape(len(Cs),len(penaltys))\n",
    "x_axis = np.log10(Cs)\n",
    "for j, onePenalty in enumerate(penaltys):\n",
    "    plt.plot(x_axis, np.array(logloss_s1[:,j]), label = ' Test-' + onePenalty)\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'logloss' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "best C: 1.000000 \n",
      " best penalty: l1\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#把最好的参数应用到所有的数据集\n",
    "bestCs = logloss_s1.argmin(axis = 0)\n",
    "\n",
    "best_logloss = logloss_s1[bestCs[0],0]\n",
    "best_penalty_index = 0\n",
    "best_penalty = penaltys[best_penalty_index]\n",
    "\n",
    "for j, onePenalty in enumerate(penaltys):\n",
    "    if logloss_s1[bestCs[j],j] < best_logloss:\n",
    "        best_logloss = logloss_s1[bestCs[j],j]\n",
    "        best_penalty_index = j\n",
    "        best_penalty = penaltys[best_penalty_index]\n",
    "\n",
    "bestC = Cs[bestCs[best_penalty_index]]\n",
    "\n",
    "print(\"best C: %f \\n best penalty: %s\"%(bestC, best_penalty) )\n",
    "    \n",
    "LR = LogisticRegression(penalty=best_penalty, C=bestC)\n",
    "LR.fit(train_X, train_y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "计算机配置还OK，尝试GridSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise',\n",
       "       estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False),\n",
       "       fit_params=None, iid=True, n_jobs=1,\n",
       "       param_grid={'penalty': ['l1', 'l2'], 'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]},\n",
       "       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=0)"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "#需要调优的参数\n",
    "# 请尝试将L1正则和L2正则分开，并配合合适的优化求解算法（slover）\n",
    "#tuned_parameters = {'penalty':['l1','l2'],\n",
    "#                   'C': [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "#                   }\n",
    "penaltys = ['l1','l2']\n",
    "Cs = [0.001, 0.01, 0.1, 1, 10, 100, 1000]\n",
    "tuned_parameters = dict(penalty = penaltys, C = Cs)\n",
    "\n",
    "lr_penalty= LogisticRegression()\n",
    "grid= GridSearchCV(lr_penalty, tuned_parameters,cv=5, scoring='neg_log_loss')\n",
    "grid.fit(train_X,train_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('split0_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('split1_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('split2_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('split3_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('split4_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('std_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'mean_fit_time': array([  3.47784424,   7.02206545,  15.53268433,   6.76117492,\n",
       "         20.61419907,   6.3352406 ,  26.95204673,   7.52520366,\n",
       "         25.35038886,   6.45315447,  23.58054509,   6.17763243,\n",
       "         23.37052546,   6.59072285]),\n",
       " 'mean_score_time': array([ 0.00463996,  0.00402212,  0.00422239,  0.00401793,  0.00402145,\n",
       "         0.00461211,  0.00421782,  0.00443392,  0.00421786,  0.0048193 ,\n",
       "         0.00442228,  0.00421786,  0.00441227,  0.00442042]),\n",
       " 'mean_test_score': array([-0.69201244, -0.68397143, -0.67126891, -0.68379618, -0.65900037,\n",
       "        -0.68559102, -0.65642652, -0.68252076, -0.65954954, -0.68437275,\n",
       "        -0.66369023, -0.68522148, -0.667557  , -0.68406832]),\n",
       " 'mean_train_score': array([-0.69106786, -0.6830506 , -0.66977761, -0.68283437, -0.65598288,\n",
       "        -0.68451602, -0.64952016, -0.68103984, -0.64721997, -0.68333779,\n",
       "        -0.64696003, -0.68433195, -0.64693714, -0.68299418]),\n",
       " 'param_C': masked_array(data = [0.001 0.001 0.01 0.01 0.1 0.1 1 1 10 10 100 100 1000 1000],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False],\n",
       "        fill_value = ?),\n",
       " 'param_penalty': masked_array(data = ['l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2' 'l1' 'l2'],\n",
       "              mask = [False False False False False False False False False False False False\n",
       "  False False],\n",
       "        fill_value = ?),\n",
       " 'params': [{'C': 0.001, 'penalty': 'l1'},\n",
       "  {'C': 0.001, 'penalty': 'l2'},\n",
       "  {'C': 0.01, 'penalty': 'l1'},\n",
       "  {'C': 0.01, 'penalty': 'l2'},\n",
       "  {'C': 0.1, 'penalty': 'l1'},\n",
       "  {'C': 0.1, 'penalty': 'l2'},\n",
       "  {'C': 1, 'penalty': 'l1'},\n",
       "  {'C': 1, 'penalty': 'l2'},\n",
       "  {'C': 10, 'penalty': 'l1'},\n",
       "  {'C': 10, 'penalty': 'l2'},\n",
       "  {'C': 100, 'penalty': 'l1'},\n",
       "  {'C': 100, 'penalty': 'l2'},\n",
       "  {'C': 1000, 'penalty': 'l1'},\n",
       "  {'C': 1000, 'penalty': 'l2'}],\n",
       " 'rank_test_score': array([14,  9,  6,  8,  2, 13,  1,  7,  3, 11,  4, 12,  5, 10]),\n",
       " 'split0_test_score': array([-0.70103073, -0.6933098 , -0.68160507, -0.69632956, -0.67075737,\n",
       "        -0.6946592 , -0.66626692, -0.69194226, -0.6690897 , -0.69565309,\n",
       "        -0.67292191, -0.69698829, -0.67684292, -0.69701217]),\n",
       " 'split0_train_score': array([-0.68894352, -0.68089731, -0.6670607 , -0.68378107, -0.65316595,\n",
       "        -0.68190404, -0.64699005, -0.67821285, -0.64473584, -0.68286468,\n",
       "        -0.64449065, -0.68495201, -0.64446256, -0.68399261]),\n",
       " 'split1_test_score': array([-0.69157078, -0.68115928, -0.6705393 , -0.6868569 , -0.65804692,\n",
       "        -0.6871769 , -0.65652051, -0.68244092, -0.66185211, -0.68380451,\n",
       "        -0.66978807, -0.68131656, -0.67661227, -0.68437693]),\n",
       " 'split1_train_score': array([-0.69119162, -0.68045289, -0.6702478 , -0.68603861, -0.65622886,\n",
       "        -0.68661906, -0.6496614 , -0.6807682 , -0.64727393, -0.68266188,\n",
       "        -0.64696721, -0.68102249, -0.64693484, -0.68420787]),\n",
       " 'split2_test_score': array([-0.68780275, -0.68255353, -0.66695559, -0.67466492, -0.65670473,\n",
       "        -0.68294357, -0.6546309 , -0.67301378, -0.65602472, -0.67632817,\n",
       "        -0.65811241, -0.68214154, -0.65989759, -0.67416546]),\n",
       " 'split2_train_score': array([-0.69197058, -0.68619017, -0.67046351, -0.67840803, -0.65633416,\n",
       "        -0.68625476, -0.64995813, -0.67648941, -0.64766812, -0.68004876,\n",
       "        -0.64741433, -0.68551863, -0.64738839, -0.6775301 ]),\n",
       " 'split3_test_score': array([-0.68426703, -0.67658682, -0.6620078 , -0.67225281, -0.64916464,\n",
       "        -0.67648062, -0.64589489, -0.67481778, -0.64878458, -0.67554891,\n",
       "        -0.65264606, -0.6796042 , -0.65641109, -0.67467646]),\n",
       " 'split3_train_score': array([-0.69320127, -0.68675386, -0.67216015, -0.68262321, -0.6586284 ,\n",
       "        -0.68696506, -0.652269  , -0.68545151, -0.64986085, -0.68579918,\n",
       "        -0.64958345, -0.68970898, -0.64956646, -0.68448543]),\n",
       " 'split4_test_score': array([-0.69539194, -0.68624839, -0.67523802, -0.68887823, -0.66032858,\n",
       "        -0.68669513, -0.65882014, -0.69039146, -0.66199732, -0.69053094,\n",
       "        -0.66498307, -0.6860571 , -0.66802127, -0.69011239]),\n",
       " 'split4_train_score': array([-0.69003229, -0.68095876, -0.6689559 , -0.68332093, -0.65555705,\n",
       "        -0.68083716, -0.64872221, -0.68427723, -0.64656112, -0.68531445,\n",
       "        -0.6463445 , -0.68045764, -0.64633345, -0.6847549 ]),\n",
       " 'std_fit_time': array([ 0.37461304,  0.63708679,  0.47603723,  0.77843752,  1.11771036,\n",
       "         0.72393851,  1.04648175,  0.9010149 ,  1.07832905,  0.52573761,\n",
       "         0.43078189,  0.76688582,  0.8700549 ,  0.62555293]),\n",
       " 'std_score_time': array([  8.02865432e-04,   1.38881636e-05,   4.08482184e-04,\n",
       "          1.19928100e-05,   1.31051300e-05,   4.91069506e-04,\n",
       "          3.98033271e-04,   8.05904531e-04,   4.13179466e-04,\n",
       "          4.03893531e-04,   4.82985027e-04,   3.97985386e-04,\n",
       "          4.91751011e-04,   4.85338521e-04]),\n",
       " 'std_test_score': array([ 0.00584235,  0.00560087,  0.00674543,  0.00904353,  0.00697031,\n",
       "         0.0059327 ,  0.00658366,  0.0077516 ,  0.0067916 ,  0.00784952,\n",
       "         0.00744555,  0.00625229,  0.00838285,  0.00883692]),\n",
       " 'std_train_score': array([ 0.00148101,  0.00280469,  0.00169852,  0.00249147,  0.00174924,\n",
       "         0.00260001,  0.00172082,  0.00342682,  0.0016603 ,  0.00207191,\n",
       "         0.00164715,  0.00336654,  0.00164954,  0.00274409])}"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# view the complete results (list of named tuples)\n",
    "grid.cv_results_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.656426523862\n",
      "{'C': 1, 'penalty': 'l1'}\n"
     ]
    }
   ],
   "source": [
    "# examine the best model\n",
    "print(-grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "结果也是C=1 L1正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n",
      "D:\\anaconda\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('std_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e5914e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#pd.DataFrame(grid.cv_results_).to_csv('LogisticGridSearchCV_Otto.csv')\n",
    "#cvresult = pd.DataFrame.from_csv('LogisticGridSearchCV_Otto.csv')\n",
    "#test_means = cv_results['mean_test_score']\n",
    "#test_stds = cv_results['std_test_score'] \n",
    "#train_means = cvresult['mean_train_score']\n",
    "#train_stds = cvresult['std_train_score'] \n",
    "\n",
    "\n",
    "# plot CV误差曲线\n",
    "test_means = grid.cv_results_[ 'mean_test_score' ]\n",
    "test_stds = grid.cv_results_[ 'std_test_score' ]\n",
    "train_means = grid.cv_results_[ 'mean_train_score' ]\n",
    "train_stds = grid.cv_results_[ 'std_train_score' ]\n",
    "\n",
    "\n",
    "# plot results\n",
    "n_Cs = len(Cs)\n",
    "number_penaltys = len(penaltys)\n",
    "test_scores = np.array(test_means).reshape(n_Cs,number_penaltys)\n",
    "train_scores = np.array(train_means).reshape(n_Cs,number_penaltys)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_penaltys)\n",
    "train_stds = np.array(train_stds).reshape(n_Cs,number_penaltys)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i, value in enumerate(penaltys):\n",
    "    #pyplot.plot(log(Cs), test_scores[i], label= 'penalty:'   + str(value))\n",
    "    plt.errorbar(x_axis, test_scores[:,i], yerr=test_stds[:,i] ,label = penaltys[i] +' Test')\n",
    "    plt.errorbar(x_axis, train_scores[:,i], yerr=train_stds[:,i] ,label = penaltys[i] +' Train')\n",
    "    \n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'neg-logloss' )\n",
    "plt.savefig('LogisticGridSearchCV_C.png' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "#LinearSVC不能得到每类的概率，在Otto数据集要求输出每类的概率，这里只是示意SVM的使用方法\n",
    "#https://xacecask2.gitbooks.io/scikit-learn-user-guide-chinese-version/content/sec1.4.html\n",
    "#1.4.1.2. 得分与概率\n",
    "from sklearn.svm import LinearSVC\n",
    "\n",
    "SVC1 = LinearSVC().fit(X_train_part, y_train_part)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.49      0.01      0.02      2575\n",
      "          1       0.50      0.00      0.00      7513\n",
      "          2       0.70      1.00      0.82     22978\n",
      "\n",
      "avg / total       0.64      0.70      0.57     33066\n",
      "\n",
      "[[   31     2  2542]\n",
      " [   19     2  7492]\n",
      " [   13     0 22965]]\n"
     ]
    }
   ],
   "source": [
    "#在校验集上测试，估计模型性能\n",
    "from sklearn.metrics import accuracy_score\n",
    "y_predict = SVC1.predict(X_val)\n",
    "\n",
    "print(classification_report(y_val, y_predict))\n",
    "print(confusion_matrix(y_val, y_predict))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "线性SVM LinearSVC的需要调整正则超参数包括C（正则系数，一般在log域（取log后的值）均匀设置候选参数）和正则函数penalty（L2/L1）\n",
    "\n",
    "采用交叉验证，网格搜索步骤与Logistic回归正则参数处理类似，在此略。\n",
    "\n",
    "这里我们用校验集（X_val、y_val）来估计模型性能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "def fit_grid_point_Linear(C, X_train, y_train, X_val, y_val):\n",
    "    \n",
    "    # 在训练集是那个利用SVC训练\n",
    "    SVC2 =  LinearSVC( C = C)\n",
    "    SVC2 = SVC2.fit(X_train, y_train)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracy = SVC2.score(X_val, y_val)\n",
    "    \n",
    "    print(\"accuracy: {}\".format(accuracy))\n",
    "    return accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.6954878122542794\n",
      "accuracy: 0.5571584104518236\n",
      "accuracy: 0.694973688985665\n",
      "accuracy: 0.6057884231536926\n",
      "accuracy: 0.6954575697090667\n",
      "accuracy: 0.6407790479646767\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.6941571402649247\n"
     ]
    },
    {
     "data": {
      "image/png": "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SrIAK0V9/bX1jS9GW7faWtannlpcM542pFUre68rV1riCFqy/PTllzYqvmTKTwmeLJoheRH0XlENS7bnFNISnscdBxUVxdvQPW2ajUEoxobthpxwAlxzjd1NPfNMsOe69154+GFba+Oww4I9VyHyZNEMhx9uI0s9WTQsHoejj4a99go7km+qqrIR+LNmhR1J7o0dCx072iJHpeJXv7KuqyNH2qf+IHzyiU053ru3rYBXijxZNIOIlaJqaorzU2pzbNhgKwoWQi+o+oYM2ba4TjH55BN45BG45BKbw6xUtGtn5ahly+D663N/fFX4yU9Kt/yU5MmimWIxa/Qq1Nkww/Lyy9a1sJDaK5Lat4cf/Qjuuw8++yzsaHLnjjusU8GIEWFHkn99+8Jll8H//A+89FJuj33ffbae+403WjWhVHmyaCZvt2hYPG49xvr3DzuShlVVWTK7666wI8mNrVttbEW/fqVZTwdbR6K83HqBbdiQm2Mmy08nnghXXZWbY0aVJ4tm6tLFpiDwwXnfFI9b4+Puu4cdScN69LD4iqWhe/p0WxEvKmtsB6F9e5s7asEC+N3vmn88VeuWu25daZefkjxZNFNqu0WhzbMfli+/tMbjQixBpaqqgjffhNmzw46k+aqrbVW5884LO5JwnXEGXHih3WW8+WbzjjVpEjz4IIweDUcckZv4osyTRQ7EYvDpp83/4ywWM2faCm2FniyGDrWBelFv6F61yi5qF14IbduGHU34br0V9tzTZtvdvDm7Y6xYYW0gvXp5+SnJk0UOJHv8eLuFicdtZt6+fcOOZMd23dUSxj33wBdfhB1N9iZOtKVjS2VsRTodOsDf/maDQm+9NbtjXHaZDSidMKE41gLJBU8WOVBebitkebuFicetP/rOO4cdSXpVVTYh3d13p9+3EKlaCeqkk2wJWWe+/3045xwbg/H220177f3329onN9wA3bun379UeLLIkVjM5kHK9ra3WHz2mX2iK/QSVFJFhU1fnlxUJ2peeMG6bftdxTeJwJgxNt5k5MjM2xNXrLBG7Z498zOFSJR4ssiRWMxuW+fMCTuScM2YYf8xo5IsROzu4vXXo/m7q662ctrgwWFHUnj22w9uucU+xFVnuMDBqFFWkvTy0/Y8WeRIcv6jUi9FxePWyNq7d9iRZO78820UcNQautessZLJ+edHo+QXhmHD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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e2691d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#需要调优的参数\n",
    "C_s = np.logspace(-3, 3, 7)# logspace(a,b,N)把10的a次方到10的b次方区间分成N份  \n",
    "#penalty_s = ['l1','l2']\n",
    "\n",
    "accuracy_s = []\n",
    "for i, oneC in enumerate(C_s):\n",
    "#    for j, penalty in enumerate(penalty_s):\n",
    "    tmp = fit_grid_point_Linear(oneC, train_X, train_y, X_val, y_val)\n",
    "    accuracy_s.append(tmp)\n",
    "\n",
    "x_axis = np.log10(C_s)\n",
    "#for j, penalty in enumerate(penalty_s):\n",
    "plt.plot(x_axis, np.array(accuracy_s), 'b-')\n",
    "    \n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'accuracy' )\n",
    "plt.savefig('SVM_Otto.png' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "感觉效果和Logistics 差距不大"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "RBF核SVM正则参数调优\n",
    "RBF核是SVM最常用的核函数。 RBF核SVM 的需要调整正则超参数包括C（正则系数，一般在log域（取log后的值）均匀设置候选参数）和核函数的宽度gamma C越小，决策边界越平滑； gamma越小，决策边界越平滑。\n",
    "\n",
    "采用交叉验证，网格搜索步骤与Logistic回归正则参数处理类似，在此略。\n",
    "\n",
    "这里我们用校验集（X_val、y_val）来估计模型性能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\lib\\site-packages\\sklearn\\model_selection\\_split.py:2026: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "# 训练样本6w+，交叉验证太慢，用train_test_split估计模型性能\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train_part, X_val, y_train_part, y_val = train_test_split(train_X, train_y, train_size = 0.33,random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.svm import SVC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "def fit_grid_point_RBF(C, gamma, X_train, y_train, X_val, y_val):\n",
    "    \n",
    "    # 在训练集是那个利用SVC训练\n",
    "    SVC3 =  SVC( C = C, kernel='rbf', gamma = gamma)\n",
    "    SVC3 = SVC3.fit(train_X, train_y)\n",
    "    \n",
    "    # 在校验集上返回accuracy\n",
    "    accuracy = SVC3.score(X_val, y_val)\n",
    "    \n",
    "    print(\"accuracy: {}\".format(accuracy))\n",
    "    return accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.6949132038952398\n",
      "accuracy: 0.9840924212181698\n",
      "accuracy: 0.9958265287606605\n",
      "accuracy: 0.9992741789148974\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9963104094840621\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9992439363696849\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n",
      "accuracy: 0.9993044214601101\n"
     ]
    }
   ],
   "source": [
    "#需要调优的参数\n",
    "C_s = np.logspace(-2, 2, 5)# logspace(a,b,N)把10的a次方到10的b次方区间分成N份 \n",
    "gamma_s = np.logspace(-2, 2, 5)  \n",
    "\n",
    "accuracy_s = []\n",
    "for i, oneC in enumerate(C_s):\n",
    "    for j, gamma in enumerate(gamma_s):\n",
    "        tmp = fit_grid_point_RBF(oneC, gamma, X_train_part, y_train_part, X_val, y_val)\n",
    "        accuracy_s.append(tmp)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1f11e268cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "accuracy_s1 =np.array(accuracy_s).reshape(len(C_s),len(gamma_s))\n",
    "x_axis = np.log10(C_s)\n",
    "for j, gamma in enumerate(gamma_s):\n",
    "    plt.plot(x_axis, np.array(accuracy_s1[:,j]), label = ' Test - log(gamma)' + str(np.log10(gamma)))\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel( 'log(C)' )                                                                                                      \n",
    "plt.ylabel( 'accuracy' )\n",
    "plt.savefig('RBF_SVM_Rent.png' )\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "RBF核的优化跑了一天一夜才跑出来，发现C核Gamma 越大 模型性能越好。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
